0

我正在尝试向广播接收器广播 adb-command。这将是一项非常简单的任务,但广播接收器具有:

安卓:导出=“假”

在官方 android.developer 网站上,它说:

如果为“false”,则广播接收器只能接收由同一应用程序的组件或具有相同用户 ID 的应用程序发送的消息。

所以我正在尝试将用户 ID 添加到广播中。我现在的方法是以下 adb 命令:

> adb shell am broadcast -a com.example.action -n com.android.package/.receiverName --user "User_ID"

Error: Invalid int: "User_ID"在Windows下进入cmd。这个应用程序是一个系统应用程序,更准确地说,它是默认的电话应用程序。我认为 Adb 命令默认是系统广播。我的问题是:有没有办法通过广播发送用户 ID 或访问未导出的操作?清单的 User_ID 和 am 广播的 User_ID 之间是否可能存在差异。提前致谢

PS:我没有任何root访问权限,因为它应该适用于很多设备而无需root所有人。作为最终结果,我想接受传入的视频通话作为音频通话。

4

1 回答 1

0

有完全不同的用户。

android网站中的第一个“用户”是linux系统中的用户id,如root,system,u0_a58(10058)。每个 APK 都有它的用户 ID,除非在共享 UID 条件下。

am 命令中的第二个“用户”是用户代表使用此电话的人,如管理员、访客。
(您可以在 Android 选项卡中添加访客用户,但由于某些法律问题,您不能在 Android 手机中添加。)

答案:无法从非 root shell 或第三个 APK 访问未导出的组件。

于 2015-12-03T05:48:44.783 回答