如果想要在不同的 App 之间共享 Activity、Service 或广播等,通常有如下三种方法:
- 完全暴露:使用
android:exported="true"
来将组件设置为其他 App 都可调用。一般来说还需要指定里面的 参数 - 权限暴露:在 App A 中使用
定义权限,然后在 App B 中使用 申请权限调用 App A 中的组件。 - 私有暴露:如果一个公司有两个 App,只想在这两个 App 中相互调用,那么就必须设置
sharedUserId
,将两个 App 的 UID 设置为一样的。
下面针对这三种方案进行详细说明。