使用网址打开Chrome应用

时间:2014-04-23 20:57:37

标签: android html google-chrome android-browser

有没有办法在默认的Android浏览器上在Android上打开Chrome应用?我可以打开该应用,但它不会将用户重定向到正确的页面。这就是我试过的:

<a href="googlechrome://www.toovia.com">

我看到我可能需要形成一个意图网址,但我希望有一种比这更简单的方法。

这应该来自网页,并且不涉及网页视图。

8 个答案:

答案 0 :(得分:11)

是的,但如果系统上没有安装它,您将遇到ActivityNotFoundException。如果它不可用,您应该通过普通浏览器启动:

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);
}

答案 1 :(得分:8)

这是一个没有try catch,的解决方案,如果安装了chrome,它将被使用。否则,它将转到设备默认值

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);
}

答案 2 :(得分:1)

我打开了我的安全浏览器应用程序,从Google Play获取包名称,默认情况下也可以打开Chrome的方式:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://Your URL"));
intent.setPackage("com.cloudacl");  // package of SafeBrowser App 
startActivity(intent);

您可以使用此com.cloudacl替换包com.android.chrome以打开Chrome。

答案 3 :(得分:1)

最好的方法是检测用户浏览器

MessagingCenter.Send<object, AppointmentDetail>(this, "AppointmentLoaded", appointment);

并取决于条件陈述

alert(navigator.userAgent);

并基于此使用BOM API来更新窗口位置

if (navigator.userAgent.indexOf('foo')) {
 // code logic
}

答案 4 :(得分:1)

Android Kotlin

请尝试以下代码以实现Kotlin中的chrome浏览器。

val uri = Uri.parse("googlechrome://navigate?url="+"https://stackoverflow.com/")
val i = Intent(Intent.ACTION_VIEW, uri)
if (i.resolveActivity(this@MainActivity.packageManager) == null) {
   i.data = Uri.parse("https://stackoverflow.com/")
}
this@MainActivity.startActivity(i)

答案 5 :(得分:0)

你的xml:

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

您的WebViewActivity

public class WebViewActivity extends Activity {

    private WebView webView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webview);

        webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://www.google.com");
    }
}

答案 6 :(得分:0)

上面的Intent解决方案似乎不再起作用。

以下为我工作..

document.location ='googlechrome:// navigate?url = www.tovia.com /';

答案 7 :(得分:0)

我正在使用以下代码从Android应用打开 Chrome browser

String urlString = "http://google.com";
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(urlString));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.chrome");
try
{
    context.startActivity(intent);
} 
catch (ActivityNotFoundException ex)
{
    //if Chrome browser not installed
    intent.setPackage(null);
    context.startActivity(intent);
}