Open Chrome App with URL
Yes, but if it's not installed on the system you'll run into an ActivityNotFoundException. If it's not available, you should launch through the normal browser:
String url = "http://mysuperwebsite";try { Intent i = new Intent("android.intent.action.MAIN"); i.setComponent(ComponentName.unflattenFromString("com.android.chrome/com.android.chrome.Main")); i.addCategory("android.intent.category.LAUNCHER"); i.setData(Uri.parse(url)); startActivity(i);}catch(ActivityNotFoundException e) { // Chrome is not installed Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(i);}
Here is a solution without a try catch,
if chrome is installed, it will be used. Otherwise, it will go to the device default
void open(Activity activity, String url) { Uri uri = Uri.parse("googlechrome://navigate?url=" + url); Intent i = new Intent(Intent.ACTION_VIEW, uri); if (i.resolveActivity(activity.getPackageManager()) == null) { i.setData(Uri.parse(url)); } activity.startActivity(i);}
The best thing is to detect the user browser
alert(navigator.userAgent);
and depending on a conditional statement
if (navigator.userAgent.indexOf('foo')) { // code logic}
and based on that use BOM API to update window location
window.location.href = 'googlechrome://navigate?url='+ link;