android打开pdf ppt word excel chm html text 文件的intent

简介:
以下代码未经测试。但是有我想找的,先贴过来,慢慢了解~~ 

import android.app.Activity; 

import android.content.Intent; 

import android.net.Uri; 

import android.net.Uri.Builder; 

import java.io.File; 

import android.content.Intent; 



//自定义android Intent类, 

//可用于获取打开以下文件的intent 

//PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO 

public class MyIntent 

{ 



//android获取一个用于打开HTML文件的intent 

  public static Intent getHtmlFileIntent( String param ) 

  { 

  Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build(); 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.setDataAndType(uri, "text/html"); 

  return intent; 

  } 



//android获取一个用于打开图片文件的intent 

  public static Intent getImageFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addCategory("android.intent.category.DEFAULT"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "image/*"); 

  return intent; 

  } 



  //android获取一个用于打开PDF文件的intent 

  public static Intent getPdfFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addCategory("android.intent.category.DEFAULT"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "application/pdf"); 

  return intent; 

  } 



//android获取一个用于打开文本文件的intent 

  public static Intent getTextFileIntent( String paramString, boolean paramBoolean) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addCategory("android.intent.category.DEFAULT"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  if (paramBoolean) 

  { 

  Uri uri1 = Uri.parse(param ); 

  intent.setDataAndType(uri1, "text/plain"); 

  } 

  while (true) 

  { 

  return intent; 

  Uri uri2 = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri2, "text/plain"); 

  } 

  } 











//android获取一个用于打开音频文件的intent 

  public static Intent getAudioFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

  intent.putExtra("oneshot", 0); 

  intent.putExtra("configchange", 0); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "audio/*"); 

  return intent; 

  } 







  //android获取一个用于打开视频文件的intent 

  public static Intent getVideoFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

  intent.putExtra("oneshot", 0); 

  intent.putExtra("configchange", 0); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "video/*"); 

  return intent; 

  } 





  //android获取一个用于打开CHM文件的intent 

  public static Intent getChmFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addCategory("android.intent.category.DEFAULT"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "application/x-chm"); 

  return intent; 

  } 







//android获取一个用于打开Word文件的intent 

  public static Intent getWordFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addCategory("android.intent.category.DEFAULT"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "application/msword"); 

  return intent; 

  } 



//android获取一个用于打开Excel文件的intent 

  public static Intent getExcelFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addCategory("android.intent.category.DEFAULT"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "application/vnd.ms-excel"); 

  return intent; 

  } 

  

  

//android获取一个用于打开PPT文件的intent 

  public static Intent getPptFileIntent( String param ) 

  { 

  Intent intent = new Intent("android.intent.action.VIEW"); 

  intent.addCategory("android.intent.category.DEFAULT"); 

  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

  Uri uri = Uri.fromFile(new File(param )); 

  intent.setDataAndType(uri, "application/vnd.ms-powerpoint"); 

  return intent; 

  } 



} 

相关文章
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
1337 5
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
767 11
|
小程序
公众号如何添加附传Word、Excel、Pdf、PPT文档
公众号里添加一些文档给公众号粉丝下载,比如课件PPT、申请表Word文档、岗位需求Excel表、大赛入围/获奖名单等。公众号本身是不支持直接上传文件的,但我们可以通过附件小程序“间接”上传文件。
1761 0
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
1084 10
|
Web App开发 前端开发 安全
2024年新一代WebOffice内嵌网页组件,Web网页在线编辑Word/Excel/PPT
WebOffice控件面临兼容性、用户体验和维护难题。随着浏览器更新,依赖插件的技术不再适用,如Chrome不再支持NPAPI和PPAPI。产品普遍不支持多版本Office并存,定制能力弱,升级复杂。猿大师办公助手提供了解决方案,它兼容多种浏览器,包括最新版和国产浏览器,不依赖插件,支持文档对比,具有丰富的功能和接口,兼容多种Office版本,允许源码级定制,提供终身技术支持,并实现静默在线升级。适用于多种行业和操作系统。
1631 123
|
人工智能 自然语言处理 JavaScript
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
Univer 是一款开源的 AI 办公工具,支持 Word、Excel 等文档处理的全栈解决方案。它具有强大的功能、高度的可扩展性和跨平台兼容性,适用于个人和企业用户,能够显著提高工作效率。
3803 9
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
1912 2
|
Java Android开发 UED
安卓scheme_url调端:如果手机上多个app都注册了 http或者https 的 intent。 调端的时候,调起哪个app呢?
当多个Android应用注册了相同的URL Scheme(如http或https)时,系统会在尝试打开这类链接时展示一个选择对话框,让用户挑选偏好应用。若用户选择“始终”使用某个应用,则后续相同链接将直接由该应用处理,无需再次选择。本文以App A与App B为例,展示了如何在`AndroidManifest.xml`中配置对http与https的支持,并提供了从其他应用发起调用的示例代码。此外,还讨论了如何在系统设置中管理这些默认应用选择,以及建议开发者为避免冲突应注册更独特的Scheme。
|
存储 大数据 数据库
Android经典面试题之Intent传递数据大小为什么限制是1M?
在 Android 中,使用 Intent 传递数据时存在约 1MB 的大小限制,这是由于 Binder 机制的事务缓冲区限制、Intent 的设计初衷以及内存消耗和性能问题所致。推荐使用文件存储、SharedPreferences、数据库存储或 ContentProvider 等方式传递大数据。
1079 0