我已经使用WebView在Android应用中集成了一个网站。
webtcet.loadUrl("http://www.myaddaa.in/");
webtcet.setWebViewClient(new MyWebviewClient());
private class MyWebviewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
但是当我尝试在Android应用中打开广告链接时(在我的手机中运行它有谷歌播放服务)它显示无法加载。
那么,如果是广告,我将如何直接打开链接到Playstore而不是webview? 提前谢谢
答案 0 :(得分:0)
我认为直接在网页浏览中开放市场是一个好主意。最好的方法是将意图传递给像这样的商店
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+YOU_APP_ID)));
如果您出于某种原因确实需要此行为,则必须拦截所有market://
个链接并按常规浏览器链接加载
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getScheme().equals("market")) {
[parse the link to get app id from url]
webview.loadUrl(https://play.google.com/store/apps/details?id=[YOU_APP_ID]);
}
});
答案 1 :(得分:0)
所以只需拦截你的shouldOverrideUrlLoading
中的这个链接webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getScheme().equals("market")) {
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} catch (ActivityNotFoundException e) {
// open link in browser as described above
}
}
return false;
}
});