如何用intent打开网页word文档实例

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
//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
&&} &//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
&&} &//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
&&} &//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
&&} &//android获取一个用于打开文本文件的intent public static Intent getTextFileIntent( String param, 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"); } else{ Uri uri2 = Uri.fromFile(new File(param )); intent.setDataAndType(uri2, "text/plain"); } return
} &//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
&&}&(PDF、word、excel、ppt、chm、文本)
阅读(4539)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'android Intent打开各种类型文件((PDF、word、excel、ppt、chm)',
blogAbstract:'',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:4,
publishTime:2,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我打算用下面这段代码打开一个word文件,
public static Intent getWordFileIntent(File file){
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(file);
intent.setDataAndType(uri, "application/msword");
调用的代码是
Intent wordIntent= FileUtil.getWordFileIntent(file);
context.startActivity(wordIntent);
手机中存在打开word文件的app,就可以顺利打开。如果不存在打开的app,程序就会报“no Activity found to handle intent”错误。请问下是怎么回事?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你try catch处理一下这个异常即可。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
题主如果仅仅想处理这个崩溃,按照楼上 的方法处理就可以了。
如果想知道为啥会抛出这个异常,你得去了解下Activity的工作原理,这个异常是里面执行了checkStartActivityResult抛出来的。
想更详细了解的话,你可以看下这篇文章:
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 AppAndroid编程开发之打开文件的Intent及使用方法
作者:非著名程序员
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Android编程开发之打开文件的Intent及使用方法,已实例形式分析了Android打开文件Intent的相关布局及功能实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了Android编程开发之打开文件的Intent及使用方法。分享给大家供大家参考,具体如下:
在写文件管理系统时会用到各种打开不同格式的文件的需求,由于Android系统默认内置了一些可以打开的系统应用,但还是不能满足需求,比如打开视频文件、word等,需要安装相应的播放软件才可以使用,这时程序会通过Intent查找可以使用的软件实现通过代码打开一个文件需要2部分,一部分是要获取到不同文件的后缀,以便根据需求匹配相应的Intent,另一个就是不同格式的文件打开的Intent不同
1、在values目录下定义后缀数组文件fileendings
&?xml version="1.0" encoding="utf-8"?&
&resources&
&array name="fileEndingImage"&
&item&.png&/item&
&item&.gif&/item&
&item&.jpg&/item&
&item&.jpeg&/item&
&item&.bmp&/item&
&array name="fileEndingAudio"&
&item&.mp3&/item&
&item&.wav&/item&
&item&.ogg&/item&
&item&.midi&/item&
&array name="fileEndingVideo"&
&item&.mp4&/item&
&item&.rmvb&/item&
&item&.avi&/item&
&item&.flv&/item&
&array name="fileEndingPackage"&
&item&.jar&/item&
&item&.zip&/item&
&item&.rar&/item&
&item&.gz&/item&
&item&.apk&/item&
&item&.img&/item&
&array name="fileEndingWebText"&
&item&.htm&/item&
&item&.html&/item&
&item&.php&/item&
&item&.jsp&/item&
&array name="fileEndingText"&
&item&.txt&/item&
&item&.java&/item&
&item&.c&/item&
&item&.cpp&/item&
&item&.py&/item&
&item&.xml&/item&
&item&.json&/item&
&item&.log&/item&
&array name="fileEndingWord"&
&item&.doc&/item&
&item&.docx&/item&
&array name="fileEndingExcel"&
&item&.xls&/item&
&item&.xlsx&/item&
&array name="fileEndingPPT"&
&item&.ppt&/item&
&item&.pptx&/item&
&array name="fileEndingPdf"&
&item&.p&?xml version="1.0" encoding="utf-8"?&
&resources&
&array name="fileEndingImage"&
&item&.png&/item&
&item&.gif&/item&
&item&.jpg&/item&
&item&.jpeg&/item&
&item&.bmp&/item&
&array name="fileEndingAudio"&
&item&.mp3&/item&
&item&.wav&/item&
&item&.ogg&/item&
&item&.midi&/item&
&array name="fileEndingVideo"&
&item&.mp4&/item&
&item&.rmvb&/item&
&item&.avi&/item&
&item&.flv&/item&
&array name="fileEndingPackage"&
&item&.jar&/item&
&item&.zip&/item&
&item&.rar&/item&
&item&.gz&/item&
&item&.apk&/item&
&item&.img&/item&
&array name="fileEndingWebText"&
&item&.htm&/item&
&item&.html&/item&
&item&.php&/item&
&item&.jsp&/item&
&array name="fileEndingText"&
&item&.txt&/item&
&item&.java&/item&
&item&.c&/item&
&item&.cpp&/item&
&item&.py&/item&
&item&.xml&/item&
&item&.json&/item&
&item&.log&/item&
&array name="fileEndingWord"&
&item&.doc&/item&
&item&.docx&/item&
&array name="fileEndingExcel"&
&item&.xls&/item&
&item&.xlsx&/item&
&array name="fileEndingPPT"&
&item&.ppt&/item&
&item&.pptx&/item&
&array name="fileEndingPdf"&
&item&.pdf&/item&
&/resources&df&/item&
&/resources&
2、定义OpenFiles工具类,只需传输File参数即可,然后通过返回的Intent打开文件
public class OpenFiles {
//android获取一个用于打开HTML文件的intent
public static Intent getHtmlFileIntent(File file)
Uri uri = Uri.parse(file.toString()).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(file.toString()).build();
Intent intent = new Intent("android.intent.action.VIEW");
intent.setDataAndType(uri, "text/html");
//android获取一个用于打开图片文件的intent
public static Intent getImageFileIntent(File file)
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(file);
intent.setDataAndType(uri, "image/*");
//android获取一个用于打开PDF文件的intent
public static Intent getPdfFileIntent(File file)
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(file);
intent.setDataAndType(uri, "application/pdf");
//android获取一个用于打开文本文件的intent
public static Intent getTextFileIntent(File file)
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(file);
intent.setDataAndType(uri, "text/plain");
//android获取一个用于打开音频文件的intent
public static Intent getAudioFileIntent(File file)
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(file);
intent.setDataAndType(uri, "audio/*");
//android获取一个用于打开视频文件的intent
public static Intent getVideoFileIntent(File file)
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(file);
intent.setDataAndType(uri, "video/*");
//android获取一个用于打开CHM文件的intent
public static Intent getChmFileIntent(File file)
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(file);
intent.setDataAndType(uri, "application/x-chm");
//android获取一个用于打开Word文件的intent
public static Intent getWordFileIntent(File file)
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(file);
intent.setDataAndType(uri, "application/msword");
//android获取一个用于打开Excel文件的intent
public static Intent getExcelFileIntent(File file)
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(file);
intent.setDataAndType(uri, "application/vnd.ms-excel");
//android获取一个用于打开PPT文件的intent
public static Intent getPPTFileIntent(File file)
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(file);
intent.setDataAndType(uri, "application/vnd.ms-powerpoint");
//android获取一个用于打开apk文件的intent
public static Intent getApkFileIntent(File file)
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
3、定义用于检查要打开的文件的后缀是否在遍历后缀数组中
private boolean checkEndsWithInStringArray(String checkItsEnd,
String[] fileEndings){
for(String aEnd : fileEndings){
if(checkItsEnd.endsWith(aEnd))
4、通过调用OpenFiles类返回的Intent,打开相应的文件
if(currentPath!=null&¤tPath.isFile())
String fileName = currentPath.toString();
if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingImage))){
intent = OpenFiles.getImageFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingWebText))){
intent = OpenFiles.getHtmlFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingPackage))){
intent = OpenFiles.getApkFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingAudio))){
intent = OpenFiles.getAudioFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingVideo))){
intent = OpenFiles.getVideoFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingText))){
intent = OpenFiles.getTextFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingPdf))){
intent = OpenFiles.getPdfFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingWord))){
intent = OpenFiles.getWordFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingExcel))){
intent = OpenFiles.getExcelFileIntent(currentPath);
startActivity(intent);
}else if(checkEndsWithInStringArray(fileName, getResources().
getStringArray(R.array.fileEndingPPT))){
intent = OpenFiles.getPPTFileIntent(currentPath);
startActivity(intent);
showMessage("无法打开,请安装相应的软件!");
showMessage("对不起,这不是文件!");
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具发现和了解你未来的雇主}

我要回帖

更多关于 js导出word文档实例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信