android:网页访问Activity出现错误:error unknown url scheme

这种情况是怎么产生的呢,一个网站大部分不会只有一个网页,这个时候我们的scheme如果写在不是第一页的位置就会出现报错,这个错误我觉的是因为前面的网址和跳转Activity的网址出现冲突,这种情况的处理的方法是:

在webview中重写WebViewClient类中的shouldOverrideUrlLoading方法,具体代码如下

[java]  view plain  copy
  1. @Override  
  2.                 public boolean shouldOverrideUrlLoading(WebView view, String httpurl) {  
  3.                     if (httpurl.startsWith("scheme:") || httpurl.startsWith("scheme:")) {  
  4.                         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(httpurl));  
  5.                         startActivity(intent);  
  6.                     }  
  7.                     return false;  
  8.                 }  

处理方法就是,只要是网址开头是scheme的,我们就跳转到这个网址上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发中,android:scheme 是一个很重要的属性,用于指定一个应用程序的URI scheme。URI(Uniform Resource Identifier)是用于标识和定位资源的字符串,通常用于网络资源的访问。 通过在AndroidManifest.xml文件中使用 android:scheme 属性,可以告诉Android系统该应用程序支持通过特定的URI scheme来进行跳转。例如,可以指定一个自定义的URI scheme,比如"myapp",然后在其他应用程序中使用这个自定义URI来启动该应用程序。 具体步骤如下: 1. 在 AndroidManifest.xml 文件的<application>标签内部添加以下代码: ```xml <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="myapp" /> </intent-filter> ``` 这样就指定了该应用程序支持通过"myapp" scheme进行跳转。 2. 然后在其他应用程序中,可以通过以下代码来启动该应用程序: ```java String uriString = "myapp://example"; Uri uri = Uri.parse(uriString); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); ``` 在上述代码中,使用 Uri.parse() 方法将字符串转换为Uri对象,然后使用 Intent.ACTION_VIEW 和指定的Uri对象创建一个Intent对象,最后通过 startActivity() 方法启动该Intent。 通过以上步骤,就可以在其他应用程序中使用指定的URI scheme跳转到该应用程序。 需要注意的是,为了确保跳转成功,需要确保该应用程序已经安装在设备上,并且支持该指定的URI scheme

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值