我正在开发一个类似于网络浏览器的应用。 现在,当我点击通过WebView显示的网页中的电子邮件地址时,会发生以下情况:
我想弄清楚如何解决2号问题。
基本上,我不需要应用加载包含'mailto:'的网址。
这是我试图做但失败的事情:
在'shouldOverrideUrlLoading()',
下if( url.startsWith("mailto") )
{
/*Do the stuff for sending email but i will not display */
url = null;
}
在view.loadurl(url)之前, 添加了
if( !url.startsWith("mailto:") )
view.loadurl(url);
我知道这些都是黑客,并不是很优雅。 因此,有人能指出我正确的道路吗?
谢谢。
答案 0 :(得分:0)
尝试在return true;
方法中使用shouldOverrideUrlLoading()
。 :)
答案 1 :(得分:0)
Ravi Bhatt的回答是正确的。在函数结束时,它应该返回true;
但您必须手动捕获包含http或https的任何网址并加载网址。这就是我的意思:
在shouldOverrideUrlLoading()下,
else if( url.startsWith("http:") || url.startsWith("https:") )
{
view.loadUrl(url); //u can use the default webview or your own webview
}
/*At the end of the function*/
return true;
如果你在某个地方输入了false,那么它也无法正常工作。 url = null也无济于事。
希望这可以帮助那些与我有相似问题的人。