本文介绍: Android中的Scheme是一种页面跳转协议,和网站通过URL的形式访问一样,APP同样可以通过这种方式进行跳转,它可以很方便的满足我们在一些场景中的需求:假若遇到一个这个需求h5想跳转app页面里面,有两种解决方案,一种就是原生app做一个JavascriptInterface接口提供给js调用。另一种就可以通过Scheme协议跳转,不需要去调java接口。具体用法:在清单文件当中设置scheme <activity android:name=”.xx

Android中的Scheme是一种页面跳转协议,和网站通过URL的形式访问一样,APP同样可以通过这种方式进行跳转,它可以很方便的满足我们在一些场景中的需求

假若遇到一个这个需求,h5想跳转app的页面里面,有两种解决方案,一种就是原生app做一个JavascriptInterface接口提供给js调用

另一种就可以通过Scheme协议跳转,不需要去调java接口

具体用法
在清单文件当中设置scheme

 <activity
            android:name=".xxx.xxxActivity"
            android:exported="true"&gt;
            <intent-filter&gt;
                <data
                    android:host="ddd"
                    android:path="/abc"
                    android:port="123"
                    android:scheme="home" /&gt;

                <action android:name="android.intent.action.VIEW" /&gt;
                <category android:name="android.intent.category.DEFAULT" /&gt;
                <category android:name="android.intent.category.BROWSABLE" /&gt;
            </intent-filter>
        </activity> 

scheme:协议(不要填大写,不然h5调不起)
host地址
port端口号
path路径

定义一个这样的协议。地址,端口号路径,不填也可以,只需要一个scheme就行。
path一定要有/

webview用法

写一个html页面,在点击事件里面写入这个协议

<!DOCTYPE html>
<html>
	<body>
	
		<!-- href里面直接放协议地址 -->
		<a id="dianji" href='home://ddd:123/abc?params=100&amp;age=26'>点击这里</a>

	
	</body>
</html>

?后面跟http一样,可以参数,用&amp;来添加后续参数

新建一个文件,把上面的html放进去,更改后缀为html
新建一个assets文件夹,放入这个html

在这里插入图片描述

新建一个Activity,布局文件里面写一个WebView控件,直接加载这个html

在这里插入图片描述

 webView.loadUrl("file:///android_asset/web/index.html")

这时候就可以直接跳转到你配置scheme的那个Activity了

Activity获取参数
在onCreate中通过intent获取参数

在这里插入图片描述

原生app用法



  val url = "home://ddd:123/abc?params=100&amp;age=26"
  val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
  startActivity(intent)
  

原文地址:https://blog.csdn.net/qq_29634351/article/details/123359898

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_7341.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注