android中的scheme协议

1、什么是 URL Scheme?

Android中的是Scheme是一种页面的跳转协议,主要用于以下场景:

  • 服务器下发:服务端通过自定义的字段下发至APP,APP通过解析该字段,跳转至相应的界面;

  • H5跳转:通过H5的操作界面,跳转至安卓的原生界面中;

  • APP的界面跳转:通过该协议跳转至APP内或其他APP的界面中。

2、怎样使用URL Scheme

1、AndroidMaintest.xml中定义

		<activity android:name=".ActivityB">
            <intent-filter >
                <!--定义协议部分-->
                <data android:scheme="scheme" android:host="xiaohan" android:path="/getDetail"/>
                <!--添加过滤参数-->
                <category android:name="android.intent.category.DEFAULT"/>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.BROWSABLE"/>
            </intent-filter>
        </activity>

2、待跳转界面的使用

String url = "scheme://xiaohan/getDetail?Num=100";
 Intent intent = new Intent(Intent.ACTION_VIEW,
                        Uri.parse(url));
 startActivity(intent);

3、跳转界面的使用

 @Override
    protected void onCreate( Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_b);
			Uri data = getIntent().getData();
    	    Log.i(TAG, "host = " + data.getHost() + " path = " + data.getPath() + " query = " + data.getQuery());
       	    String param = data.getQueryParameter("Num");
            Log.i(TAG, "onCreate: "+param);
        }
Android Scheme跳转协议是一种在Android操作系统用于app之间通信的机制。通过Scheme跳转协议,一个app可以通过调用另一个app的特定功能或界面,实现跳转和传递参数的功能。 Android Scheme跳转协议的实现过程如下: 1. 在待跳转的app,需要先定义一个特定的Scheme,用于唯一标识该app。一般情况下,Scheme由app的包名或自定义的scheme名称组成。 2. 在相应的Activity或Fragment,通过Intent设置该Activity或Fragment的Scheme,以及需要传递的参数,如数据、标志位等。 3. 在需要跳转到该app的app,通过调用系统提供的隐式Intent的方式,并设置跳转的Scheme以及传递的参数,发起跳转。 4. 如果目标app已安装在设备上,在符合条件的应用列表,用户可以选择使用该app打开链接。 5. 目标app接收到跳转请求后,在其Manifest文件通过声明Intent过滤器,匹配相应的Scheme和路径,并执行对应的操作或界面跳转。 需要注意的是,为了保证Scheme跳转的可用性,需要在app安装时注册相应的Scheme,以便系统能够正确地将请求导向目标app。 Scheme跳转协议在实际应用常被用于app之间的跳转和通信,例如在支付宝使用支付宝Scheme跳转到其他第三方APP完成支付,或者在浏览器使用特定的Scheme跳转到其他APP打开指定的页面等。 总之,Android Scheme跳转协议是一种方便实现app之间通信的机制,通过定义特定的Scheme和使用Intent实现跳转和传参,能够提供更丰富的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值