您当前的位置:首页 > 互联网教程

Android 跨应用间调用: URL Scheme

发布时间:2025-05-12 20:33:28    发布人:远客网络

Android 跨应用间调用: URL Scheme

一、Android 跨应用间调用: URL Scheme

Android中的自定义的 URL Scheme是一种页面内跳转协议,也可以被称为 URLRouter,就是通过类似打开网页的方式去通过路由打开一个Activity,而非直接通过显式Intent方式去进行跳转。这样隐式intent的方法跳转好处如下:

上文已经说过, URL Scheme是就通过类似打开网页的方式去通过路由打开一个Activity,其协议格式和我们打开网页输入的网址类似。

一个完整的完整的URL Scheme协议格式由scheme、host、port、path和query组成,其结构如下所示:

其中scheme既可以是Android中常见的协议,也可以是我们自定义的协议。Android中常见的协议包括content协议、http协议、file协议等,自定义协议可以使用自定义的字符串,当我们启动第三方的应用时候,多是使用自定义协议。

通过上面的路径 Scheme、Host、port、path、query全部包含:

URL Scheme的使用方法简要言之就是先在manifest中配置能接受Scheme方式启动的activity;当需要调用时,将Scheme协议的URi以Data的形式加入到Intent中,隐式调用该activity。

1).在AndroidManifest.xml中对<activity>标签增加<intent-filter>设置Scheme

上面的设置中可以看到,MainActivity包含多个<intent-filter>设置,第一个是正常的启动,也就是在应用列表中启动;第二个是通过 URL Scheme方式启动,其本身也是隐式Intent调用的一种,不同在于添加了<data>属性,定义了其接受 URL Scheme协议格式为 urlschemel://auth_activity

这里需要说明下, URL Scheme协议格式中,组成URI的这些属性在<data>标签中都是可选的,但存在如下的依赖关系:

当我们将intent对象中的Uri参数与intent-filter中的<data>标签指定的URI格式进行对比时,我们只对比intent-filter的<data>标签指定的部分,例如:

需要注意的是,intent-filter的<data>标签在指定path的值时,可以在里面使用通配符*,起到部分匹配的效果。

3.)如何判断URL Scheme是否有效

有时候需要把一些辅助性的、较为独立的APP在Home Launcher中隐藏起来,只允许一些特定的APP调用。这个时候,我们可以利用 URL Scheme协议来做到这一点,设置AndroidManifest.xml中对<activity>标签如下

因为Home Launcher列出的应用图标要求必须有Activity同时满足

上面的配置中有多余的category和data限制存在,所以并不匹配,不会在Home Launcher出现,但是可以使用 URL Scheme来启动。

这样就可以将一组APP设置一个统一的入口,然后根据实际需要在调用不同子APP,即所谓的 APP业务组件化, URL Scheme在其中有着重要的作用,更进一步讨论会在以后的文章中呈现,敬请期待。

二、android中的scheme是什么意思啊

1、android中的scheme是一种页面内跳转协议。通过定义自己的scheme协议,可以非常方便跳转app中的各个页面。

2、抖音App是一款社交类的软件,通过抖音短视频App你可以分享你的生活,同时也可以在这里认识到更多朋友,了解各种奇闻趣事。

3、抖音实质上是一个专注年轻人的音乐短视频社区,用户可以选择歌曲,配以短视频,形成自己的作品。它与小咖秀类似,但不同的是,抖音用户可以通过视频拍摄快慢、视频编辑、特效(反复、闪一下、慢镜头)等技术让视频更具创造性,而不是简单的对嘴型。

4、抖音平台一般都是年轻用户,配乐以电音、舞曲为主,视频分为两派:舞蹈派、创意派,共同的特点是都很有节奏感。也有少数放着抒情音乐展示咖啡拉花技巧的用户,成了抖音圈的一股清流。

5、抖音最新的内测版中加入了一个新的社交功能——“朋友聊天室”,支持抖音强大的滤镜美颜和道具功能。2021年3月24日,抖音推出了“老友计划”,该计划致力于提升老年用户使用体验,丰富老年用户生活,还在产品和运营活动上推出以下举措。

三、Android页面跳转协议_URL Scheme详解

1、android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。

2、客户端应用可以在服务端注册一个URL Scheme,该Scheme用于从浏览器或其他应用启动本应用。通过指定的URL字段,可以让应用在被调起后直接打开某些特定界面,比如商品详情页,活动详情页等。也可以执行某些特定的动作,如完成支付等。也可以在应用内通过html页来直接调用显示app内的某个界面。综上URL Schema使用场景大致分以下几种:

3、一个完整的Scheme的协议格式由 scheme、userInfo、host、port、path、query和fragment组成。结构如下:

4、 scheme://是固定的格式。userInfo@可以省略,host是必须的。port、query和 fragment也是可以省略的。

5、其中scheme既可以是Android已经定义好的协议,也可使用我们自定义的。Android常见的scheme协议有:content、file、http等。如果我们自定义协议就可以随意使用一些字符串来限定协议。当然最好是有一定含义的字符串。如下面的协议:

6、首先配置需要跳转的Activity,Mainifest文件配置如下:

7、其他运用方式都基于样例,源码地址: URL_SchemeDemo