带有用户ID的adb广播

时间:2015-12-02 16:32:25

标签: android adb android-manifest android-shell

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

  

机器人:导出= “假”

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

  

如果“false”,广播接收者可以接收的唯一消息是由具有相同用户ID的相同应用程序的组件发送的消息。

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

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

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

P.S:我没有root访问权限,因为它应该适用于很多设备,而不需要为每个人提供支持。作为最终结果,我想接受一个传入的视频通话作为Audiocall。

1 个答案:

答案 0 :(得分:0)

用户完全不同。

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

am命令中的第二个“用户”是使用此手机的用户,例如管理员,来宾。
(您可以在Android选项卡中添加访客用户,但由于某些合法的内容,您无法在Android手机中执行此操作。)

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