> shouldOverrideUrlLoading Webview Android

我需要解决Webview和方法ShouldOverrideUrlLoading的问题。

我想显示一条消息,指出用户没有在手机上安装twitter应用程序

    @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url.startsWith("tel:")) { 
                Intent intent = new Intent(Intent.ACTION_DIAL,
                        Uri.parse(url)); 
                startActivity(intent); 
        }else if(url.startsWith("http:") || url.startsWith("https:")) {
            view.loadUrl(url);
        }else if (url != null && url.startsWith("market://")) {
                view.getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                return true;
        } else if (url != null && url.startsWith("twitter://")) {
                view.getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                return true;
        }else{
    Toast.makeText(getApplicationContext(), "Twitter app is necessary", Toast.LENGTH_SHORT).show();
      }
            return false;

}

显示“应用程序意外停止,请重试”的错误

谁能帮忙?


你的twitter Intent似乎有问题。 据我了解,你想Twitter应用程序发布的东西。 请咨询他们的API,了解如何使用Intent启动Twitter应用程序。 为了防止崩溃,您可以执行以下操作:

 else if (url != null && url.startsWith("twitter://")) {
            try{
            view.getContext().startActivity(
                new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
             } catch(ActivityNotFoundException e){
               // do some stuff here, for example load the twitter url in the browser
             }
            return true;
链接地址: http://www.djcxy.com/p/41965.html

上一篇: > shouldOverrideUrlLoading Webview Android

下一篇: Creating an android app that simply launches a URL in the browser