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 に自分で変更することはできません。それらは私の広告主からのものです。
とにかく、このコードに含めることができますか:
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;
}
}