Spróbuj czegoś takiego.
try {
Intent i = new Intent();
ComponentName comp = new ComponentName("com.google.android.browser","com.google.android.browser.BrowserActivity");
i.setComponent(comp);
i.setAction("android.intent.action.VIEW");
i.addCategory("android.intent.category.BROWSABLE");
ContentURI uri = new ContentURI(url);
i.setData(uri);
startActivityForResult(i, 2);
} catch (URISyntaxException e) {
e.printStackTrace();
}
za drugie pytanie możesz użyć PackageManager
.
uzyskać instancję PackageManager
PackageManager packageManager = getPackageManager();
i zapytać go do określonego działania, danych i kategorii Intent
.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("URL"));
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, 0);
for (ResolveInfo resolveInfo : list) {
if(resolveInfo.isDefault())
{
//default browser
}
}
Świetnie! to działa.Dzięki Prabhu :) – defactodeity
Powyższy kod nie zidentyfikował domyślnej przeglądarki. Na moim urządzeniu ustawiam Operę jako domyślną przeglądarkę, ale kiedy uruchomię ten kod, nie widzę "resolveInfo.isDefault" jest zawsze prawdziwe dla każdej przeglądarki! Proszę pomóż. – defactodeity