我正在使用一种方法来检测Android设备上的pdf支持,就像这样
public boolean canDisplayPdf() {
PackageManager packageManager = application.getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
if (packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0) {
return true;
} else {
return false;
}
}
到目前为止,这一直很有效。我知道至少HTC默认查看器,droidreader和adobe acrobat会以这种方式报告并返回正确的结果。但是我现在得到了一个用户对市场控制台的评论说他在设备上有pdf支持,但从应用程序的描述行为我得出结论,这个方法返回false。
有没有更好的方法来检测pdf支持?
PS:我希望能够向用户询问有关市场的详细信息。
答案 0 :(得分:3)
从我发现的所有来源和在各种各样的设备上测试的实践经验我所采取的方法都是正确的。
我没有得到任何进一步的反馈,并认为可能存在用户错误或涉及错误的pdf应用程序版本。
答案 1 :(得分:2)
你正确地做到了。您可以考虑更新应用程序的描述,以便使用Android批准的方法和application / pdf MIME类型调用PDF应用程序。并且还提到如果用户在使用该应用程序时遇到任何问题,您会收到发送电子邮件至blahblah@myappsupport.com(或任何您的应用支持电子邮件地址设置为)。也许那时他们会发送电子邮件,而不是仅留下匿名评论。