错误消息-> shouldOverrideUrlLoading Webview Android

Posted

技术标签:

【中文标题】错误消息-> shouldOverrideUrlLoading Webview Android【英文标题】:Error message -> shouldOverrideUrlLoading Webview Android 【发布时间】:2013-08-27 03:45:35 【问题描述】:

我需要解决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(); 返回假;

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

谁能帮忙?

【问题讨论】:

“应用程序已意外停止” - 向用户显示。你能发布一些 LogCat 输出吗?顺便说一句,“必要”用双“s”拼写 @Maver1ck Logcat : dropbox.com/s/8as0eu855wis884/screen1.png 【参考方案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;

【讨论】:

事实上,你应该在所有的 startActivity 调用中都有 try/catch,并不是所有的设备都有手机应用来处理 tel: 链接。不确定是否所有 android 都可以处理市场:方案 urls...

以上是关于错误消息-> shouldOverrideUrlLoading Webview Android的主要内容,如果未能解决你的问题,请参考以下文章

错误消息-> shouldOverrideUrlLoading Webview Android

致命错误:未捕获的异常“Phalcon\Mvc\Model\Exception”与消息“语法错误,意外令牌>,

水晶报告显示错误 --> 数据库连接器错误:“无法从服务器获取错误消息”

已删除的类丢弃错误消息未知>:0:错误:没有这样的文件或目录:

获取“'<null>' 和 'System.DateTime' 之间没有隐式转换”错误消息 [关闭]

错误消息“AFCCreateReSampler: avAFCInfo->bUsed[0] in SampleRate[44100] outSampleRate[16000]...”是啥意思?