public static 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 + 1, fName.length()).toLowerCase(Locale.CHINA);
if (end.equals("")) return type;
type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
return type;
}
由获取到的type,intent设置type 超级简单
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(new File(param ));
intent.setDataAndType(uri,getMIMEType(file));
startActivity(intent)