prueba algo como esto.
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();
}
para su segunda pregunta puede usar PackageManager
.
conseguir instancia de PackageManager
PackageManager packageManager = getPackageManager();
y Query para una acción específica, los datos y la categoría de 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
}
}
¡Genial! esto funciona.Gracias Prabhu :) – defactodeity
El código anterior no ha podido identificar el navegador predeterminado. En mi dispositivo, configuré Opera como navegador predeterminado, pero cuando ejecuto este código, no veo 'resolveInfo.isDefault' que sea cierto para ningún navegador. Por favor ayuda. – defactodeity