【发布时间】:2015-01-11 23:06:48
【问题描述】:
我的网页视图中有一些链接是 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。它们来自我的广告客户。
无论如何我可以将它包含在此代码中:
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;
}
}
【问题讨论】:
-
仅供参考,这个问题是从官方Spotify API Documentation链接的...(讽刺的是,OP有
标签: android android-intent android-webview