public static List<ResolveInfo> getInstalledBrowsers(final Context context) {
        // We're using "https://example.com" as we only want to query for web browsers, not c:geo or other apps
        final Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://example.com"));
        return context.getPackageManager().queryIntentActivities(browserIntent, PackageManager.MATCH_DEFAULT_ONLY);
    }
Preferred method to detect the availability of an external app
main/src/main/java/cgeo/geocaching/utils/ProcessUtils.java