Как найти браузер по умолчанию на Android-устройстве

Есть ли способ узнать, какой браузер установлен в качестве браузера по умолчанию на устройстве Android? На устройстве Android может быть установлено несколько браузеров, но из них только один установлен по умолчанию. Мне нужно найти это программно.

Спасибо заранее. Ранний ответ оценивается.

Ответ 1

Этот код может помочь вам:

Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://"));  
ResolveInfo resolveInfo = getPackageManager().resolveActivity(browserIntent,PackageManager.MATCH_DEFAULT_ONLY);

// This is the default browser packageName
String packageName = resolveInfo.activityInfo.packageName;

и если хотите начать его, сделайте следующее:

startActivity(getPackageManager().getLaunchIntentForPackage(packageName));

Ответ 2

Вы можете использовать PackageManager и resolveActivity(), чтобы попытаться определить, какая активность (в каком приложении) будет обрабатывать конкретный Intent. Однако это может указывать на то, что выборщик обработает запрос, потому что нет текущего значения по умолчанию (например, пользователь только что установил новый браузер, и поэтому выборщик появится для следующего запроса веб-браузера).