在 Google Chrome 中启动任何网站 link 的目的是什么
What is the intent to launch any website link in Google Chrome
你好我想在用户点击特定 link 时从我的应用程序 webview 打开 chrome 应用程序中的网站。我看到这是可能的 https://developer.chrome.com/multidevice/android/intents,这里是针对 zxing 应用程序的,而不是针对 google chrome.
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
我想要 Google Chrome 相同的语法。目前我在 webview 中打开 link,点击 link 我想指定 chrome 的意图,比如 zxing。
换句话说,
我有一个 webview,我在其中打开了一个特定的 URL,然后如果用户单击 "XYZ" 或 webview 中的某些内容,那么它应该打开 google chrome。因此,为此我将在 html 中添加一些 chrome 意图标记,这就是我正在寻找的语法 –
如果您知道打开 Google Chrome 任何 hyperlink.
的语法,请分享
提前致谢。
Google Chrome 应用程序包名称是 com.android.chrome 所以准备好你的 Intent URL 使用下面的概念
intent:
//scan/
#Intent;
package=com.android.chrome;
scheme=zxing;
end;
使用这个:
String url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
希望这会有所帮助..
我已经在安装了 Chrome 和 Mozilaa 的 Nexus 6 上测试了以下代码,效果很好,
String url = "http://www.whosebug.com";
Intent i = new Intent();
i.setPackage("com.android.chrome");
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
如果您的设备中没有安装 Chrome,这将出错。所以请检查包裹可用性。
您似乎正在寻找新的 Android Intents link,它将为 link.
的设备创建明确的 Intent
<a href="intent://<URL>#Intent;scheme=http;package=com.android.chrome;end">
适合我。
所以
<a href="intent://whosebug.com/questions/29250152/what-is-the-intent-to-launch-any-website-link-in-google-chrome#Intent;scheme=http;package=com.android.chrome;end">
将在 Chrome 中将您带到这个问题。
请注意,scheme 是单独指定的,所以如果你想启动 https links,你必须将 scheme 更改为 scheme=https
但正如每个人所说,明确的 Chrome 意图是一件非常不 Android 的事情。更好的方法是像这样指定 ACTION_VIEW 操作:
<a href="intent://whosebug.com/questions/29250152/what-is-the-intent-to-launch-any-website-link-in-google-chrome#Intent;scheme=http;action=android.intent.action.VIEW;end;">
谢谢,今天学到东西了!
此代码用于从 chrome 浏览器打开 android 应用程序。您可以从这个 link
中查看
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
我正在使用另一种方式从您的应用程序打开 Chrome 浏览器
private class MyWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView paramWebView, String paramString) {
String url = Uri.parse(paramString);
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);
}
}
}
下面的代码在网络视图中启动 urls,包括 intent://
url 方案 Android。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null) {
if (url.startsWith("http://") || url.startsWith("https://")) {
view.loadUrl(url);
} else if (url.startsWith("intent://")) {
try {
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
Intent existPackage = getPackageManager().getLaunchIntentForPackage(intent.getPackage());
if (existPackage != null) {
startActivity(intent);
} else {
Intent marketIntent = new Intent(Intent.ACTION_VIEW);
marketIntent.setData(Uri.parse("market://details?id=" + intent.getPackage()));
startActivity(marketIntent);
}
return true;
} catch (Exception e) {
e.printStackTrace();
}
} else if (url.startsWith("market://")) {
try {
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
if (intent != null) {
startActivity(intent);
}
return true;
} catch (URISyntaxException e) {
e.printStackTrace();
}
} else { // unhandled url scheme
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
}
return true;
} else {
return false;
}
}
你好我想在用户点击特定 link 时从我的应用程序 webview 打开 chrome 应用程序中的网站。我看到这是可能的 https://developer.chrome.com/multidevice/android/intents,这里是针对 zxing 应用程序的,而不是针对 google chrome.
<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
我想要 Google Chrome 相同的语法。目前我在 webview 中打开 link,点击 link 我想指定 chrome 的意图,比如 zxing。
换句话说, 我有一个 webview,我在其中打开了一个特定的 URL,然后如果用户单击 "XYZ" 或 webview 中的某些内容,那么它应该打开 google chrome。因此,为此我将在 html 中添加一些 chrome 意图标记,这就是我正在寻找的语法 –
如果您知道打开 Google Chrome 任何 hyperlink.
的语法,请分享提前致谢。
Google Chrome 应用程序包名称是 com.android.chrome 所以准备好你的 Intent URL 使用下面的概念
intent:
//scan/
#Intent;
package=com.android.chrome;
scheme=zxing;
end;
使用这个:
String url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
希望这会有所帮助..
我已经在安装了 Chrome 和 Mozilaa 的 Nexus 6 上测试了以下代码,效果很好,
String url = "http://www.whosebug.com";
Intent i = new Intent();
i.setPackage("com.android.chrome");
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
如果您的设备中没有安装 Chrome,这将出错。所以请检查包裹可用性。
您似乎正在寻找新的 Android Intents link,它将为 link.
的设备创建明确的 Intent<a href="intent://<URL>#Intent;scheme=http;package=com.android.chrome;end">
适合我。 所以
<a href="intent://whosebug.com/questions/29250152/what-is-the-intent-to-launch-any-website-link-in-google-chrome#Intent;scheme=http;package=com.android.chrome;end">
将在 Chrome 中将您带到这个问题。 请注意,scheme 是单独指定的,所以如果你想启动 https links,你必须将 scheme 更改为 scheme=https
但正如每个人所说,明确的 Chrome 意图是一件非常不 Android 的事情。更好的方法是像这样指定 ACTION_VIEW 操作:
<a href="intent://whosebug.com/questions/29250152/what-is-the-intent-to-launch-any-website-link-in-google-chrome#Intent;scheme=http;action=android.intent.action.VIEW;end;">
谢谢,今天学到东西了!
此代码用于从 chrome 浏览器打开 android 应用程序。您可以从这个 link
中查看 <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end"> Take a QR code </a>
我正在使用另一种方式从您的应用程序打开 Chrome 浏览器
private class MyWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView paramWebView, String paramString) {
String url = Uri.parse(paramString);
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);
}
}
}
下面的代码在网络视图中启动 urls,包括 intent://
url 方案 Android。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null) {
if (url.startsWith("http://") || url.startsWith("https://")) {
view.loadUrl(url);
} else if (url.startsWith("intent://")) {
try {
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
Intent existPackage = getPackageManager().getLaunchIntentForPackage(intent.getPackage());
if (existPackage != null) {
startActivity(intent);
} else {
Intent marketIntent = new Intent(Intent.ACTION_VIEW);
marketIntent.setData(Uri.parse("market://details?id=" + intent.getPackage()));
startActivity(marketIntent);
}
return true;
} catch (Exception e) {
e.printStackTrace();
}
} else if (url.startsWith("market://")) {
try {
Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
if (intent != null) {
startActivity(intent);
}
return true;
} catch (URISyntaxException e) {
e.printStackTrace();
}
} else { // unhandled url scheme
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
}
return true;
} else {
return false;
}
}