1

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

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

    @覆盖
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
            如果(url.startsWith(“电话:”)){
                意图意图=新意图(意图.ACTION_DIAL,
                        uri.parse(url));
                开始活动(意图);
        }else if(url.startsWith("http:") || url.startsWith("https:")) {
            view.loadUrl(url);
        }else if (url != null && url.startsWith("market://")) {
                view.getContext().startActivity(
                    新意图(意图.ACTION_VIEW,Uri.parse(url)));
                返回真;
        } else if (url != null && url.startsWith("twitter://")) {
                view.getContext().startActivity(
                    新意图(意图.ACTION_VIEW,Uri.parse(url)));
                返回真;
        }别的{
    Toast.makeText(getApplicationContext(), "Twitter 应用是必要的", Toast.LENGTH_SHORT).show();
      }
            返回假;

}

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

任何人都可以帮忙吗?

4

1 回答 1

1

你的推特好像有问题Intent。据我了解,您希望 twitter 应用程序发布一些内容。有关如何使用 Intent 启动 twitter 应用程序的信息,请咨询他们的 API。为防止崩溃,您可以执行以下操作:

 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;
于 2013-08-24T01:41:06.147 回答