在webview中加载自定义URL

时间:2014-03-06 09:42:43

标签: android android-webview webviewclient

在我的应用中,我正在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; 
        }
 }

谢谢&的问候,

3 个答案:

答案 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注册活动