Intent MIME type介绍
2014-09-15 14:23
344 查看
MIME:全称MultipurposeInternetMailExtensions,多功能Internet邮件扩充服务。它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
在Android中通过文件的MIME类型来判断有哪些应用程序可以处理这些文件,并使用其中的某一个应用程序(如果有多个可选的应用程序,则用户必须指定一个)处理之。
我在写android资源管理器(文件浏览器)的时候,希望能在资源管理器的中实现打开文件的操作,此时就需要用到文件的MIME类型。
实现方法:
在Android中通过文件的MIME类型来判断有哪些应用程序可以处理这些文件,并使用其中的某一个应用程序(如果有多个可选的应用程序,则用户必须指定一个)处理之。
我在写android资源管理器(文件浏览器)的时候,希望能在资源管理器的中实现打开文件的操作,此时就需要用到文件的MIME类型。
实现方法:
privateStringgetMIMEType(Filefile)
{
Stringtype="*
Stringend=fName.substring(dotIndex,fName.length()).toLowerCase();
if(end=="")returntype;
//在MIME和文件类型的匹配表中找到对应的MIME类型。
for(inti=0;i<MIME_MapTable.length;i++){
if(end.equals(MIME_MapTable[i][0]))
type=MIME_MapTable[i][1];
}
returntype;
}
privatevoidopenFile(Filefile){
//Uriuri=Uri.parse("file://"+file.getAbsolutePath());
Intentintent=newIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//设置intent的Action属性
intent.setAction(Intent.ACTION_VIEW);
//获取文件file的MIME类型
Stringtype=getMIMEType(file);
//设置intent的data和Type属性。
intent.setDataAndType(Uri.fromFile(file),type);
//跳转
startActivity(intent);
}
现在就差一个MIME类型和文件类型的匹配表了。
-------------------------------我是背景分割线------------------------------------------
"文件类型——MIME类型"的匹配表:
//建立一个MIME类型与文件后缀名的匹配表
privatefinalString[][]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"},
{".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"},
{".m3u","audio/x-mpegurl"},
{".m4a","audio/mp4a-latm"},
{".m4b","audio/mp4a-latm"},
{".m4p","audio/mp4a-latm"},
{".m4u","video/vnd.mpegurl"},
{".m4v","video/x-m4v"},
{".mov","video/quicktime"},
{".mp2","audio/x-mpeg"},
{".mp3","audio/x-mpeg"},
{".mp4","video/mp4"},
{".mpc","application/vnd.mpohun.certificate"},
{".mpe","video/mpeg"},
{".mpeg","video/mpeg"},
{".mpg","video/mpeg"},
{".mpg4","video/mp4"},
{".mpga","audio/mpeg"},
{".msg","application/vnd.ms-outlook"},
{".ogg","audio/ogg"},
{".pdf","application/pdf"},
{".png","image/png"},
{".pps","application/vnd.ms-powerpoint"},
{".ppt","application/vnd.ms-powerpoint"},
{".prop","text/plain"},
{".rar","application/x-rar-compressed"},
{".rc","text/plain"},
{".rmvb","audio/x-pn-realaudio"},
{".rtf","application/rtf"},
{".sh","text/plain"},
{".tar","application/x-tar"},
{".tgz","application/x-compressed"},
{".txt","text/plain"},
{".wav","audio/x-wav"},
{".wma","audio/x-ms-wma"},
{".wmv","audio/x-ms-wmv"},
{".wps","application/vnd.ms-works"},
//{".xml","text/xml"},
{".xml","text/plain"},
{".z","application/x-compress"},
{".zip","application/zip"},
{"","*/*"}
};
相关文章推荐
- android intent MIME type
- android intent MIME type
- Media Type/Content Type/MIME Type介绍
- mime type 概要介绍
- MIME Type介绍 Content-Type 各种定义
- [转]Intent-filter and mime type
- android intent MIME type
- android intent MIME type
- android intent MIME type
- android intent MIME type
- android intent MIME type
- MiMe Type, 与FIle extension
- (转)Android中Intent的setData,setType和setDataAndType的用法
- Intent相关FLAG介绍和Activity启动模式
- MIME类型介绍
- MIME Content Type code
- http mimetype为multipart/x-mixed-replace报文
- burp-intrude-Attack-type的使用介绍
- android intent action 介绍大全
- Android开发--Intent-filter属性介绍