【问题标题】:Android Webview exclude url from overrid methodAndroid Webview 从覆盖方法中排除 url
【发布时间】:2013-07-21 23:30:02
【问题描述】:

大家好,我的 webview 应用需要帮助 我有一个打开一个 url 的 webview,我覆盖它,以便它只在我的应用程序中而不是在 webbrowser 上打开,但我遇到的问题是我想在我的 android webbrowser 中从 youtube.com 打开 url。我试图这样做,但没有任何帮助。 我只希望在 webbrowser 中打开 youtube 链接,但其他链接应该只在我的应用程序中打开。现在它会打开 m 应用程序中的所有链接 如何在浏览器中打开 youtube 链接?

@Override
public boolean shouldOverrideUrlLoading(WebView v, String url) {
    if (url.startsWith("www.youtube.com/")) {
        // magic
        return false;
    } else {
        v.loadUrl(url);
        return true;
    }
}

【问题讨论】:

  • 什么不正常?
  • 我想在 Android 默认浏览器中打开来自 youtube 的链接,而不是在我的应用程序中,如果链接在应用程序中,我可以通过意图打开它们,链接在网络中而不是在应用程序中

标签: android android-webview


【解决方案1】:

这对我有用:

    @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url){          
        if ( (url.contains("vid:") || url.contains("http://youtube.com")) == true ){
        // Load new URL Don't override URL Link
        view.getContext().startActivity(
        new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

        return true;
        }
        // Return true to override url loading (In this case do nothing).
        return false;
    }

所以在你的情况下,这可能是:

    @Override
    public boolean shouldOverrideUrlLoading(WebView v, String url) {
    if ( (url.contains("vid:") || url.contains("http://youtube.com")) == true ) {
         // Load new URL Don't override URL Link
     view.getContext().startActivity(
     new Intent(Intent.ACTION_VIEW, Uri.parse(url)));      
     return false;
     } else {
       v.loadUrl(url);
       return true;
     }
   }

【讨论】:

    猜你喜欢
    • 2018-07-27
    • 1970-01-01
    • 2010-10-31
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 2011-04-02
    相关资源
    最近更新 更多