2014-05-12 8 views
11

Gibt es eine Möglichkeit, herauszufinden, welcher Browser als Standard-Browser auf Android-Gerät eingestellt ist? Auf einem Android-Gerät können mehrere Browser installiert sein, von denen jedoch nur einer als Standard festgelegt ist. Ich muss es programmatisch herausfinden.So finden Sie den Standard-Browser auf Android-Gerät

Vielen Dank im Voraus. Frühe Antwort ist geschätzt ..

Antwort

14

Dieser Code kann Ihnen helfen:

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; 

und wenn möchten sie starten, gehen Sie wie folgt vor:

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

Wenn Sie juste den Namen der App (wie "Chrome") wollen, verwenden dies: resolveInfo.loadLabel (getPackageManager()). toString(); –

+0

Dies scheint völlig falsch zu sein basierend auf http://stackoverflow.com/a/21257097/1168364 – lf215

1

Sie können gerne PackageManager und resolveActivity() verwenden, um zu versuchen, zu bestimmen, welche Aktivität (in welcher App) wird eine bestimmte Intent behandeln. Dies kann jedoch darauf hinweisen, dass die Auswahlfunktion die Anforderung verarbeitet, da keine aktuelle Standardeinstellung vorhanden ist (z. B. hat der Benutzer gerade einen neuen Browser installiert und die Auswahl wird daher für die nächste Webbrowser-Anforderung angezeigt).

Verwandte Themen