有没有办法在默认的Android浏览器上在Android上打开Chrome应用?我可以打开该应用,但它不会将用户重定向到正确的页面。这就是我试过的:
<a href="googlechrome://www.toovia.com">
我看到我可能需要形成一个意图网址,但我希望有一种比这更简单的方法。
这应该来自网页,并且不涉及网页视图。
答案 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);
}