gpt4 book ai didi

android - 允许 web View 中的所有 'market://' 链接打开 Google Play 商店

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:38 24 4
gpt4 key购买 nike

我的 WebView 中有一些链接是 market://链接。当我的用户点击它们时,它给他们一个找不到页面的错误。

如何让所有以 market://开头的链接在被点击时自动打开 Google Play 商店?我试过:

final Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse("market://details?id="));
startActivity(intent);
}

但这似乎没有做任何事情。我对此很陌生,因此将不胜感激。另外,仅供引用,我自己无法更改 market://到 play.google.com 的链接。它们来 self 的广告客户。

无论如何我可以将它包含在这段代码中:

public boolean shouldOverrideUrlLoading(WebView paramWebView, String paramString) {
if (DEBUG)
Log.e("shouldOverride", paramString);
if (Uri.parse(paramString).getHost()!=null && (!Uri.parse(paramString).getHost().equals("market.android.com")) && (!paramString.contains("facebook.com")) && (!Uri.parse(paramString).getHost().contains("twitter.com")) && (!Uri.parse(paramString).getHost().equals("play.google.com"))
&& (!Uri.parse(paramString).getHost().contains("bit.ly")) && (!Uri.parse(paramString).getHost().contains("plus.google.com")) && (!Uri.parse(paramString).getHost().contains("youtube.com"))){
if(isAppOrGamePage(paramString)){
final Intent intent = new Intent(MainActivity.this, PageActivity.class);
intent.putExtra("app_url", paramString);
startActivity(intent);
} else
return false;
} else {
final Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(paramString));
startActivity(intent);
}

return true;
}
}

最佳答案

您可以通过查看 url 的方案来决定要做什么,如果安装了 Google Play Store 应用程序,您可以在 Play Store 应用程序中打开详细信息页面,否则您可以显示该应用程序的 Google Play 网页

webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getScheme().equals("market")) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
Activity host = (Activity) view.getContext();
host.startActivity(intent);
return true;
} catch (ActivityNotFoundException e) {
// Google Play app is not installed, you may want to open the app store link
Uri uri = Uri.parse(url);
view.loadUrl("http://play.google.com/store/apps/" + uri.getHost() + "?" + uri.getQuery());
return false;
}

}
return false;
}
});

关于android - 允许 web View 中的所有 'market://' 链接打开 Google Play 商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com