查明是不是存在默认查看器

Posted

技术标签:

【中文标题】查明是不是存在默认查看器【英文标题】:Findout if a default viewer exist查明是否存在默认查看器 【发布时间】:2011-03-10 18:49:23 【问题描述】:

我知道如何安排另一个活动,但是在开始活动之前,我如何确保我的 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

【问题讨论】:

【参考方案1】:

获取Intent 并将其传递给PackageManagerqueryIntentActivities()。如果您返回一个零长度列表,则没有任何东西可以处理您的Intent。如果您获得包含两个或更多条目的列表,请考虑使用Intent.createChooser() 让用户选择要使用的活动。

【讨论】:

以上是关于查明是不是存在默认查看器的主要内容,如果未能解决你的问题,请参考以下文章

win10设置默认图片查看器

不小心用windows图片查看器打开了bin文件

在网页中嵌入 Autodesk 查看器

windows照片查看器找不到了

如何通过提供文件路径在默认图像查看器中打开图像?

win7系统默认图片查看器在哪个文件夹里