如何打开市场://在Android中与WebView链接

时间:2015-05-10 23:15:54

标签: android html webview

我在我的应用程序中使用了LeadBolt广告(实际上我在我的内容页面上使用HTML样式广告)。在页面底部显示我的广告。

广告包含market://等市场链接。当我点击横幅时它尝试在Web视图中打开此链接,因此它失败。如何从WebView中仅打开市场链接?

仅当广告链接包含market://时,才会在市场上打开应用详情页面,否则网址应在WebView中打开

String fullLink = "http://" + LINK; 

String html = "<html><body style='margin:0;padding:0;'>" +
"<iframe src='"+fullLink+"' style='position: absolute; border: none; box-sizing: border-box; width: 100%; height: 100%;'></iframe>"+
"<div style='z-index:99;position:absolute;bottom:0;'>"+
"<script type='text/javascript' src='http://ad.leadboltads.net/show_app_ad.js?section_id=123456789'></script></div></body></html> " ;

mWebView.loadData(html, "text/html", "utf-8");
mWebView.setWebViewClient(new HakkiWebViewClient());

我的自定义网络客户端

//custom web client
private class HakkiWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {     
            view.loadUrl(url);
            return true;
        }
    }

2 个答案:

答案 0 :(得分:1)

你可以这样做:

protected Boolean checkUrl(String url) {
    if (url.contains("market://")) {
            Intent intent = new Intent("android.intent.action.VIEW");
            intent.setData(Uri.parse(url));
            startActivity(intent);
            return true;
    }
    return false;
}

public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (checkUrl(url)) return true;
    view.loadUrl(url);
    return false;
}

答案 1 :(得分:1)

only prev, Next Icon/Button of Ninja Slider Only.