在我的应用中,我正在webview中加载“http”网址。这个网址已正确加载,但有一些内部网址已加载协议“sheet://”。在加载此URL时,我收到错误“不支持协议”。任何人都可以帮助解决这个问题吗?如何使用协议“sheet://”加载网址?
PS:我正在使用 shouldOverrideUrlLoading 方法加载网址。
这是我正在使用的代码
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("sheet://")){
Intent url_intent = new Intent ( Intent.ACTION_VIEW,Uri.parse(url));
url_intent.addCategory(Intent.CATEGORY_BROWSABLE);
startActivity(url_intent);
return false;
}else{
view.loadUrl(url);
return true;
}
}
谢谢&的问候,
答案 0 :(得分:0)
也许主持一个带有标题的PHP文件?
<?php
header("Location: sheet://link_to_your_file.extention");
?>
答案 1 :(得分:0)
您是否看到shouldOverrideUrlLoading
的来电进入了您的工作表://网址?代码的这一部分看起来是正确的(假设您的设备上安装了一个可以处理sheet:// BROWSABLE意图的应用程序)。或者你的意思是从你的应用程序启动的应用程序无法加载工作表:// URL?正在推出什么应用来响应意图?
如果网页中的工作表:// 不是,则您遇到的一个错误就是调用loadUrl
。在这种情况下,请return true
。 URL加载已在进行中,无需再次启动它。这样做可以创建一个循环。
答案 2 :(得分:0)
您必须使用与AndroidManifest.xml中的协议匹配的intent-filter注册活动