android-如何打开所有格式的文件?

问题描述

如何打开所有格式的文件?

我想实现一个 browser-like 程序。
我想打开设备能提供的所有的文件格式。
我用的下面的代码只能打开特殊的格式:

String mimetype = mime_type(FileName);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(File), mimetype);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

public String mime_type(String name) {
String type = null;
String[] mime = {".htmttext/html", ".htmlttext/html", ".doctapplication/msword", ".ppttapplication/vnd.ms-powerpoint", ".xlstapplication/vnd.ms-excel",
                ".txtttext/plain", ".pdftapplication/pdf", ".xlsxtapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                ".pptxtapplication/vnd.openxmlformats-officedocument.presentationml.presentation", ".docxtapplication/vnd.openxmlformats-officedocument.wordprocessingml.document"};
int i;
for(i = 0; i < mime.length; i++) {
if(name.toLowerCase().endsWith(mime[i].split("t")[0])) {
return mime[i].split("t")[1];
}
}
return type;
}

文件的格式我不能全部列出来。
是否有什么方法可以用于所有的格式呢?或者来列出所有的程序让用户选择?

解决方案

下面这个方法可以得到所有能打开当前文件的程序集合,遍历下list就可以得到对应的应用名
List list = getPackageManager().queryIntentActivities(
mimetypeIntent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0) {
mimetypeIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(mimetypeIntent);
}

解决方案二:

我发现给 / 设置 mimetype 可以达到效果。
她会显示所有选择了的安装的app。

时间: 2024-09-21 18:02:07

android-如何打开所有格式的文件?的相关文章

哪种网页播放器可以打开swf格式的文件?

问题描述 哪种网页播放器可以打开swf格式的文件? 请问 哪种网页播放器可以打开swf格式的文件,类似于JWPlayer播放器这种的,要可以在Android工程中调用的

Office软件怎么打开et格式的文件?

  Office软件怎么打开et格式的文件?WPS是国产office,WPS表格相当于Microsoft Office Excel,但是使用WPS表格产生的文件格式为".et".如果你的电脑上只装了Microsoft Office而没有装WPS,当你收到".et"格式的文件,是无法直接打开的.本次分享教大家怎样用Microsoft Office打开".et"格式的文件. 一.打开方法 1.双击打开电脑桌面的Microsoft Office Exc

C#怎么样打开img格式的文件,并读取里面的内容?

问题描述 C#怎么样打开img格式的文件,并读取里面的内容? 这个img文件不是图像文件,他里面储蓄的是一些与图像毫不相干的数据,我怎么样才能通过C#获得里面的数据呢 解决方案 可以使用IO对其进行操作,如果是一些二进制数据就以二进制的方式打开文件,如果是文本数据就以文本的方式打开,获取到文件的数据后就看你后续还需要怎么操作了. 解决方案二: ,打开img之后是这样的

jsp是什么文件 如何打开jsp格式的文件_JSP编程

jsp格式文件是一种动态网页技术标准,是用java语言编写的动态网页程序文件,主要出现在网站开发的过程当中.不过有些人会在下载的过程中无意间下载到jsp格式文件,比如jb51.jsp,出现这种情况应该是网站有防盗链功能的原因(意思A站的内容只需在A站下载,B网站用就属于盗链).如果你是这种情况,那么用下面这个办法即可解决. 解决办法其实也挺简单:就是在下载链接上点击鼠标右键然后选择"另存为"即可下载了. 嗯,上面出现了一个小插曲,现在回到主题jsp文件怎么打开?的问题,作为普通网民或是

adobe audition-Adobe Audition打开pcm格式的文件

问题描述 Adobe Audition打开pcm格式的文件 本人用Adobe Audition打开pcm文件是一段噪音,这是为什么呢?pcm是视频还是音频呢? 解决方案 http://www.miui.com/thread-429014-1-1.html

打开Daa格式的文件PowerISO最新破解注册版本_常用工具

如何打开Daa格式的文件?可以用PowerISO,点击下载最新破解注册版本 Daa格式压缩的光盘映象,请下载CAD2006种子文件中的PowerISO软件打开,或在华军软件下载.  http://nj.onlinedown.net/soft/43673.htm http://yncnc.onlinedown.net/soft/43673.htm PowerISO 最新注册码 注册信息:  name:www.greendown.cn key:VBDGQ-G9X1I-NG48Z-UA8FX-NWXC

怎么打开.war格式的文件

问题描述 向大家请教一个问题: 如何打开.war格式的压缩文件呀.网上有的说用win rar能打开,可是我的还是打不开.有人说将其放在tomcat的webapps下,然后运行tomcat,我试了一下确实能行,但是每次都这么弄感觉有点麻烦,不知大家是用什么方式打开这种文件的呀?问题补充谢谢各位的回答.用sundytu的方法可以解决. 解决方案 war包的文件,修改成zip格式.就可以打开了.打成zip包,修改扩展名成war.和直接打成war包是一样的.看你怎么理解了.解决方案二:问题应该移到问答区

Win7系统直接打开docx格式文件

  对于一个办公室上班族来说,Office一定是再熟悉不过的一款办公软件.我们需要通过Word来写各种文案,可是如果遇到没有安装Office 2013的电脑时怎么查看docx文件呢?现装一个Office明显不是最好的选择. 下面系统之家小编就为大家介绍一下Win7系统直接打开docx格式文件的小招数. 1.如果电脑里没有安装Office,那么我们可以发现docx格式文件被识别为Office Open XML; 2.虽然没有安装Office,但其系统识别图标上却显示出了docx字样,而弹出的提示也

怎样用java把.sldprt格式的文件放到网页上显示

问题描述 .sldprt格式的文件是用SolidWorks做出来的,想把它用java语言显示在网页上,怎么办啊?是给java加上某个插件,还是安装SolidWorks的其他版本? 解决方案 官方java是不会管这个的,最多是看SolidWorks有没有提供JAVA API去操作SolidWorks ,没有的话就是不能java最多把这个文件当作二进制流传给浏览器.再往下就是看SolidWorks是不是提供浏览器的插件,(就像FLASH一样,装备FLASH插件),如果没有插件,那浏览器就做是要下载文