通过scheme协议启动app

 

目录

scheme协议定义

scheme协议的格式

scheme协议的使用

示例


scheme协议定义:

scheme是一种页面内跳转协议,通过这个协议可以比较方便的跳转到app某一个页面。

scheme协议的格式:

[scheme]://[host]/[path]?[query] 

scheme 代表该Schema 协议名称

host 代表Schema所作用的地址域

path 代表Schema指定的页面

query 要传递的参数

scheme协议的使用:

以Android端为例,使用scheme协议需要在target页面,也就是需要跳转到的页面添加一个新的action-view类型的intent-filter过滤器。并且这个过滤器和该页面下的其他过滤器是同级别的,也就是说不能使用已经定义的其他过滤器作为scheme协议的过滤器。代码如下

<activity android:name=".activitys.MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
                

            <category android:name="android.intent.category.LAUNCHER" />
                
        </intent-filter>
        <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="app"
                android:host="com.app.test"//可以不写
                android:path="/SplashActivity"//可以不写
                />

     </intent-filter>
</activity>

可以看到,新添加的过滤器中需要同时定义DEFAULT和BROWSABLE两个category标签,而且path标签需要以‘/’开头。

示例:

浏览器通过scheme协议调起app

编写一个简单的html页面并且部署到本地服务器,页面内容如下:

 <a href="app://com.app.test">打开app</a>

这里只写了scheme和post两部分,也可以只写scheme或者把path和参数之类的也写上,除了scheme之外其他的内容都不是必须的。如果不包含scheme信息,那么将会导致跳转失效,因为找不到相关协议。

通过其他APP跳转

ntent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("app://com.app.test")); startActivity(intent); 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Scheme跳转协议是一种在Android操作系统中用于app之间通信的机制。通过Scheme跳转协议,一个app可以通过调用另一个app的特定功能或界面,实现跳转和传递参数的功能。 Android Scheme跳转协议的实现过程如下: 1. 在待跳转的app中,需要先定义一个特定的Scheme,用于唯一标识该app。一般情况下,Schemeapp的包名或自定义的scheme名称组成。 2. 在相应的Activity或Fragment中,通过Intent设置该Activity或Fragment的Scheme,以及需要传递的参数,如数据、标志位等。 3. 在需要跳转到该appapp中,通过调用系统提供的隐式Intent的方式,并设置跳转的Scheme以及传递的参数,发起跳转。 4. 如果目标app已安装在设备上,在符合条件的应用列表中,用户可以选择使用该app打开链接。 5. 目标app接收到跳转请求后,在其Manifest文件中通过声明Intent过滤器,匹配相应的Scheme和路径,并执行对应的操作或界面跳转。 需要注意的是,为了保证Scheme跳转的可用性,需要在app安装时注册相应的Scheme,以便系统能够正确地将请求导向目标appScheme跳转协议在实际应用中常被用于app之间的跳转和通信,例如在支付宝中使用支付宝Scheme跳转到其他第三方APP完成支付,或者在浏览器中使用特定的Scheme跳转到其他APP打开指定的页面等。 总之,Android Scheme跳转协议是一种方便实现app之间通信的机制,通过定义特定的Scheme和使用Intent实现跳转和传参,能够提供更丰富的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值