【问题标题】:How can I validate that a URL was loaded properly after opening in the browser from an intent?从意图在浏览器中打开后,如何验证 URL 是否正确加载?
【发布时间】:2014-10-16 14:58:28
【问题描述】:

我正在将设备浏览器从以下意图打开到特定 url:

String url = "http://www.google.com";
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

我现在如何验证页面是否已在浏览器中成功加载?有没有办法返回浏览器应用的加载状态或内容?

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    你可以试试这个

    try
    {
    
        String url = "http://www.google.com";
        Uri uri = Uri.parse(url);
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
    
    }
    catch (MalformedURLException e) 
    {
                  e.printStackTrace();
    }
    

    希望有帮助

    【讨论】:

    • 谢谢,但我不想在启动意图时捕获异常。我正在寻找一种方法来检查 url 是否已成功加载到 Web 浏览器中。因此,例如,如果我输入 www.badurl.com,浏览器将加载但在浏览器中给我一个错误,因为它不是真正的 url。
    • 如果你尝试让他在发送意图之前 ping url?试试这个stackoverflow.com/questions/6381306/…
    【解决方案2】:

    您可以使用onPageFinished()onReceivedError()方法实现WebViewClient

        myWebView.setWebViewClient(new WebViewClient() {
           public void onPageFinished(WebView view, String url) {
                Log.i("WebView", "Page succesfully loaded!");
            }
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){
    Log.e("WebView", "An error ocurred: " + description + " loading the page:" + failingUrl + ", with code" + errorCode);       }
    
        });
    

    有关可能的错误代码的更多信息: http://developer.android.com/reference/android/webkit/WebViewClient.html#Summary

    更多信息:

    WebViewClient

    【讨论】:

    • 你如何初始化 myWebView,我正在查看文档,但它似乎对我不起作用。在我的情况下,打开的浏览器是 Chrome,如果这有所不同的话。
    猜你喜欢
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 2010-10-18
    • 2023-03-25
    • 2015-09-06
    • 2015-04-11
    • 2021-05-21
    • 1970-01-01
    相关资源
    最近更新 更多