What I want is to hide WebBrowser when opening PDF file in my application. I would like to show only PDF reader application, if not have then display alert message.
Now I can create AppChooser dialog but I don't know how to hide some application.
Thank you very much!
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.
I think you have to try to open PDF Reader (like Abode one) using explicit intent, catching the exception then display your alert message.