Android4.4中Email打开网页URL问题-欢迎大家来讨论
============问题描述============
Email中配置POP3账户,收到一封测试邮件。
包含如下内容
1)www.baidu.com
2)http://www.baidu.com
3)https://www.baidu.com
上面都是百度的主页地址,在邮件中点击2) 3)时可以调用浏览器打开,当然如果手机内存在多个浏览器时会弹出选择框供选择。
但是点击第一个时,直接在邮件正文中打开,显示错误: net:ERR_UNKNOWN_URI_SCHEME。
如此问题在Nexus5上实验,也是存在的。
猜测是android源生错误。
又去看了下Email源码,发现在此方法中mWebView.loadDataWithBaseURL(mBaseUri, convHtml, "text/html", "utf-8", null);
把收到的内容转成了类似于网页源码的文件。final String convHtml = renderMessageBodies(messageCursor, mEnableContentReadySignal); 调用系统内已经写好的一些template(模板,暂且这样翻译吧),其中有一些js方法,会给特定的内容加上超链接<a href=""></a>。到这个地方就看不懂了,js语言掌握的太少,不会继续往下分析了。
还有正文中处理用户单击事件,在源码中也没有找到处理的地方。
目前来说,4.4的Email更难阅读了。
呼唤大牛的出现,为我等解答一下Email。
正在被和即将被Email煎熬的同学赶紧来,大家一起来讨论讨论。
快到碗里来!!!
============解决方案1============
我也不会,帮你顶一下吧。。。
============解决方案2============
你这个源码Email里面是怎么实现的调用浏览器的。能把相应的源码发给我吗? 高通的原生Email里面就没有实现这功能,坑啊。
============解决方案3============
说错了 高通的Email里面直接是 www.baidu.com的时候是没有链接的。擦。人还在不在啊 ?一起商量帮个忙啊
============解决方案4============
这个我已经解决了。现在4.4版本的,在Email中的message这个类,其中有个 linkly.addlink()方法中设置链接的参数Email-address改成all,变可以对不带http或者https的网址就行识别链接。
不过还是感谢你。
posted on 2014-10-23 16:15 android基础教程 阅读(486) 评论(0) 编辑 收藏 举报