一、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测试