2

我正在通过意图打开 PDF 文件;为了事先检查是否安装了功能强大的应用程序,我使用以下代码:

PackageManager packageManager = context.getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
List<ResolveInfo> list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;

这在我的 Galaxy Nexus 上运行良好,但是在 Kindle Fire 上运行时列表为空。但如果我跳过检查,PDF 打开就好了!怎么会这样?

有没有其他方法可以检查 PDF 查看功能?(PDF 包含在 APK 资产的文件夹中,如果我知道它可以显示,我只想将其复制到数据文件夹中......)

还是我应该停止检查,因为大多数 Android 设备都可以查看 PDF?

4

1 回答 1

3

我相当确定如果不设置 Intent 应该能够操作的实际数据,您就无法查询该意图。

这个链接似乎也处理了同样的问题。

于 2012-08-09T15:30:34.313 回答