admin 管理员组文章数量: 887143
-
Intent intent = new Intent();
-
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
//设置intent的Action属性
-
intent.setAction(Intent.ACTION_VIEW);
-
//获取文件file的MIME类型
-
String type = getMIMEType(file);
-
//设置intent的data和Type属性。
-
intent.setDataAndType(/*uri*/Uri.fromFile(file), type);
-
//跳转
-
startActivity(intent);
-
}
-
/**
-
* 根据文件后缀名获得对应的MIME类型。
-
* @param file
-
*/
-
private String getMIMEType(File file) {
-
String type=“*/*”;
-
String fName = file.getName();
-
//获取后缀名前的分隔符"."在fName中的位置。
-
int dotIndex = fName.lastIndexOf(“.”);
-
if(dotIndex < 0){
-
return type;
-
}
-
/* 获取文件的后缀名 */
-
String end=fName.substring(dotIndex,fName.length()).toLowerCase();
-
if(end==“”)return type;
-
//在MIME和文件类型的匹配表中找到对应的MIME类型。
-
for(int i=0;i<MIME_MapTable.length;i++){ //MIME_MapTable??在这里你一定有疑问,这个MIME_MapTable是什么?
-
if(end.equals(MIME_MapTable[i][0]))
-
type = MIME_MapTable[i][1];
-
}
-
return type;
-
}
MIME_MapTable是所有文件的后缀名所对应的MIME类型的一个String数组:
Java代码
-
private final String[][] MIME_MapTable={
-
//{后缀名, MIME类型}
-
{“.3gp”, “video/3gpp”},
-
{“.apk”, “application/vnd.android.package-archive”},
-
{“.asf”, “video/x-ms-asf”},
-
{“.avi”, “video/x-msvideo”},
-
{“.bin”, “application/octet-stream”},
-
{“.bmp”, “image/bmp”},
-
{“.c”, “text/plain”},
-
{“.class”, “application/octet-stream”},
-
{“.conf”, “text/plain”},
-
{“.cpp”, “text/plain”},
-
{“.doc”, “application/msword”},
-
{“.docx”, “application/vnd.openxmlformats-officedocument.wordprocessingml.document”},
-
{“.xls”, “application/vnd.ms-excel”},
-
{“.xlsx”, “application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”},
-
{“.exe”, “application/octet-stream”},
-
{“.gif”, “image/gif”},
-
{“.gtar”, “application/x-gtar”},
-
{“.gz”, “application/x-gzip”},
-
{“.h”, “text/plain”},
-
{“.htm”, “text/html”},
-
{“.html”, “text/html”},
-
{“.jar”, “application/java-archive”},
-
{“.java”, “text/plain”},
-
{“.jpeg”, “image/jpeg”},
-
{“.jpg”, “image/jpeg”},
-
{“.js”, “application/x-javascript”},
-
{“.log”, “text/plain”},
最后
由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
的朋友,可以戳这里获取](https://bbs.csdn/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
版权声明:本文标题:Android中调用系统所装的软件打开文件 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726384678h949839.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论