【问题标题】:How to open specific link in android webview app?如何在 android webview 应用程序中打开特定链接?
【发布时间】:2016-04-14 13:20:20
【问题描述】:

我已经使用 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 中的链接? 提前致谢

【问题讨论】:

  • 这是 404 未找到错误...表示 url 不存在 ..请在发布前进行一些研究
  • 感谢@Tufan 的链接,但我怎样才能通过 webview 打开链接到 playstore。我的意思是它是如何完成的?你能帮我写代码吗...:)
  • 问题是你的 WebView 正在覆盖加载过程并将其加载到 WebView 中。检查 url 是否以“market”开头,如果它没有将其加载到您的 WebView 并让 Android 处理它(检查您的返回值)。

标签: android webview android-webview ads


【解决方案1】:
  1. 我不认为直接在 webview 中打开市场是个好主意。最好的办法就是通过这种方式玩商店的意图

    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+YOU_APP_ID)));
    
  2. 如果你出于某种原因真的需要这种行为,你必须拦截所有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]);
            }
         });
    

【讨论】:

  • 我不想在 webview 中打开市场链接。我想相应地打开这些链接到 playstore 或浏览器。但问题是它试图在 webview 中加载所有链接。我希望你有这个问题。
【解决方案2】:

所以在你的 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;
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 2019-01-20
    • 2021-01-26
    • 2014-12-10
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    相关资源
    最近更新 更多