2010-07-01 51 views
0

我知道如何午餐另一个活动,但是在开始活动之前,如何确定我的MIME类型存在活动?例如,如果我有我想要显示的PDF文件,我如何确保PDF查看器存在?如果存在默认查看器,则可以查找

这里是我用午餐PDF阅读器

MimeTypeMap tMimeType = MimeTypeMap.getSingleton(); 
String tMimeStr = tMimeType.getMimeTypeFromExtension("pdf"); 
Intent intent = new Intent(); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.setAction(android.content.Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.fromFile("xyz.pdf"), tMimeStr); 
try 
{ 
    startActivity(intent); 
} 
catch (Exception e) 
{ 
    // Display error message here 
} 

回答

3

采取Intent并将它传递给PackageManagerqueryIntentActivities()的代码。如果你收到一个零长度列表,没有任何东西可以处理你的Intent。如果您获得含有两个或更多条目的列表,请考虑使用Intent.createChooser(),以便用户选择要使用的活动。

+0

像魅力一样工作 谢谢 – Sam 2010-07-01 20:40:12

相关问题