启动隐藏的活动——别人看不到的入口
什么是未暴露的 Activity
每个 Android 应用由多个组件组成——Activity(页面/窗口)、Service(后台服务)、Broadcast Receiver(广播接收器)、Content Provider(内容提供者)。
Activity 可以是 exported(可导出/外部可启动)或 non-exported(不可导出/内部专用):
- exported——系统启动器、快捷方式、其他应用都能打开。比如设置 → WiFi 页面是 exported。
- non-exported——只有应用自己或同签名的应用能启动。比如 Chrome 的书签编辑器、某个设置的调试页面。
很多应用会把一些功能做成隐藏的 non-exported Activity——不在启动器里显示,也不对外暴露入口。App Manager 能直接打开这些隐藏活动。
怎么找和启动
- 进入应用详情页
- 切到活动标签页
- 列表里有所有 Activity,包括 exported 和 non-exported
- 点某个 Activity → 弹出选项 → 选「启动」
典型用途
| 场景 | 例子 |
|---|---|
| 打开隐藏设置 | 手机厂商 ROM 的开发者调试页面、Chrome 的 about:flags 等价页面 |
| 绕过首页引导 | 直接进入应用的某个深层功能,跳过启动动画和广告 |
| 测试应用组件 | 开发者测试不同 Activity 的表现 |
| 调用外部 SDK 界面 | 某些支付、登录 SDK 提供的 Activity |
| 触发系统功能 | Android 设置里很多页面本身也是 Activity,可以直接跳 |
风险提示
- 有些 Activity 启动后会闪退或崩溃——因为它预期接收特定参数(Intent extras),直接启动没参数就崩了
- 有些 Activity 启动后会导致应用状态异常——比如它是内部流程的中间步骤,单独启动可能跳过前置条件
- non-exported Activity 理论上只有同签名应用能启动——App Manager 在 root 或 ADB 模式下才能突破这个限制;无 root 时可能部分 Activity 启动失败
所以试一个不认识的隐藏 Activity 前,先了解这个应用大概是什么、这个 Activity 名字看起来干什么的。名字里带 debug、settings、config、developer 的通常比较安全;名字里带 login、payment、purchase 的要谨慎。