You have to query for available Apps before starting the chooser. And you need to know something about the app you want to exclude. FOr example the packagename
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);
With that you start a chooser with a list of explicit activity of a packages. And all of them can handle the IntentType pdfIntent which is created in the first line.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…