provare qualcosa di simile.
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();
}
per la seconda domanda è possibile utilizzare PackageManager
.
ottenere istanza di PackageManager
PackageManager packageManager = getPackageManager();
e Query per azioni specifiche, i dati e la categoria di 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
}
}
fonte
2012-04-26 12:15:44
Grande! questo funzionaGrazie Prabhu :) – defactodeity
Il codice sopra riportato non è riuscito a identificare il browser predefinito. Sul mio dispositivo, ho impostato Opera come browser predefinito, ma quando eseguo questo codice, non vedo 'resolveInfo.isDefault' è sempre vero per qualsiasi browser! Per favore aiuto. – defactodeity