在不知道其类型的情况下打开文件

时间:2014-03-30 05:36:41

标签: android

我知道我可以让用户查看他们的PDF文件

   Intent intent;
   intent = new Intent(Intent.ACTION_VIEW);
   intent.setDataAndType(targetUri, "application/pdf");

   startActivity(intent);

但我想知道,如果我不知道文件类型(可能是图像,pdf,文本..等)。有没有我可以让用户打开它(android会自动检测文件类型并显示可能的程序列表)?

谢谢

1 个答案:

答案 0 :(得分:2)

试试这个,

import android.webkit.MimeTypeMap;
try
{
Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW);
File file = new File(aFile.getAbsolutePath());
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
                myIntent.setDataAndType(Uri.fromFile(file), mimetype);
startActivity(myIntent);
}
catch (Exception e)
{
// TODO: handle exception
String data = e.getMessage();
}