我想要的是在我的应用程序中打开 PDF 文件时隐藏 WebBrowser。我只想显示 PDF 阅读器应用程序,如果没有,则显示警报消息。
现在我可以创建 AppChooser 对话框,但我不知道如何隐藏某些应用程序。
非常感谢!
我想要的是在我的应用程序中打开 PDF 文件时隐藏 WebBrowser。我只想显示 PDF 阅读器应用程序,如果没有,则显示警报消息。
现在我可以创建 AppChooser 对话框,但我不知道如何隐藏某些应用程序。
非常感谢!
在启动选择器之前,您必须查询可用的应用程序。而且您需要了解有关要排除的应用程序的一些信息。例如包名
Intent pdfIntent = ...;
PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(pdfIntent, 0);
List<Intent> targetPDFIntents = new ArrayList<Intent>();
for (ResolveInfo currentInfo : activities) {
String packageName = currentInfo.activityInfo.packageName;
if (!"pageToExclude".equals(packageName)) {
Intent targetPdfIntent = new Intent(android.content.Intent.ACTION_VIEW, exportData);
targetPdfIntent.setPackage(packageName);
targetPDFIntents.add(targetPdfIntent);
}
}
Intent chooserIntent = Intent.createChooser(targetPDFIntents.remove(0), "title");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetPDFIntents.toArray(new Parcelable[] {}));
startActivity(chooserIntent);
这样,您就可以使用包的显式活动列表来启动选择器。它们都可以处理在第一行创建的 IntentType pdfIntent。
我认为您必须尝试使用显式意图打开 PDF 阅读器(如 Abode one) ,捕获异常然后显示您的警报消息。