一、Android Scheme协议简介

Android Scheme协议是基于URI(统一资源标识符)实现的组件通信机制,允许应用通过自定义URL格式被外部调用。其核心原理是通过Intent系统匹配URI的scheme、host、path等参数,实现页面跳转或功能触发。

URI结构示例:

scheme://host:port/path?query=param

典型应用场景:

Deep Link跳转指定页面

第三方应用调用支付/分享功能

H5页面与原生功能的桥接交互

二、测试方法

1、通过ADB命令模拟URI调用:

adb shell am start -W -a android.intent.action.VIEW -d "myapp://user/profile?id=123&token=abc"

2、使用代码测试

val maliciousIntent = Intent(Intent.ACTION_VIEW)

        .setData(Uri.parse("myapp://user/profile?id=123&token=abc"))

        .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

context.startActivity(maliciousIntent)

或者使用html页面a链接测试,将a链接的href属性设置为:href="myapp://user/profile?id=123&token=abc"

3、使用木木应用开发者工具测试(推荐)

路径:我的-〉开发者工具箱-〉Scheme测试