自定义Scheme支持外部调用

自定义Scheme支持外部调用

0x01 制定Scheme

为了使用户能够从其他APP直接跳到指定页面,开发者需要使用自定义Scheme。App自定义的Uri的格式:{scheme}://{host_path}

例如:

一个优酷的视频播放页可以被描述为:youku://play/video/12321;

一个多看的电子书详情页可以被描述为:duokan://detail/ebook/21312。

0x02 添加intent-filter

Android Manifest 文件所对应的的 activity 添加 intent-filter

对于一个可以展示 {app_name}://{page}/{type}/{id}

1
2
3
4
5
6
7
8
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<!-- 处理以"app_name://page/type"开头的 URI -->
<data android:scheme="app_name" />
<data android:host="detail" />
<data android:path="/type" />
</intent-filter>

0x03 使用 am 指令进行测试

通过如下指令测试调起,如果能够正确地调起页面展示数据则说明 intent-filter 设置成功。

1
adb shell am start -W -a "android.intent.action.VIEW" -d "yourUri" yourPackageName
作者

Dench

发布于

2023-09-15

更新于

2023-09-15

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×