2014-05-12 20 views
11

Czy jest jakiś sposób, aby dowiedzieć się, która przeglądarka jest ustawiona jako domyślna przeglądarka na urządzeniu z Androidem? Na urządzeniu z Androidem może być zainstalowanych wiele przeglądarek, ale z których tylko jeden jest ustawiony domyślnie. Muszę to znaleźć programowo.Jak znaleźć domyślny zestaw przeglądarki na urządzeniu z Androidem

Z góry dziękuję. Wcześniejsza reakcja jest ceniona ..

Odpowiedz

14

Kod ten może pomóc:

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's packageName 
String packageName = resolveInfo.activityInfo.packageName; 

a jeśli chcesz go uruchomić, należy wykonać następujące czynności:

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

Jeśli juste chcą nazwę aplikacji (takich jak "Chrome"), użyj to: resolveInfo.loadLabel (getPackageManager()). toString(); –

+0

to wydaje się być całkowicie błędne na podstawie http://stackoverflow.com/a/21257097/1168364 – lf215

1

Zapraszamy do korzystania z PackageManager i resolveActivity(), aby spróbować określić, jakie działanie (w jakiej aplikacji) obsłuży konkretną Intent. Może to jednak oznaczać, że wybieracz obsłuży żądanie, ponieważ nie ma bieżącego ustawienia domyślnego (np. Użytkownik po prostu zainstalował nową przeglądarkę, więc wybieracz pojawi się w kolejnym żądaniu przeglądarki).