我正在尝试向广播接收器广播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之间是否存在差异?提前致谢
答案 0 :(得分:0)
用户完全不同。
android网站中的第一个“用户”是linux系统中的用户ID,如root,system,u0_a58(10058)。每个APK都有它的用户ID,除非在共享UID条件下。
am命令中的第二个“用户”是使用此手机的用户,例如管理员,来宾。
(您可以在Android选项卡中添加访客用户,但由于某些合法的内容,您无法在Android手机中执行此操作。)
答案:无法从非root shell或第3个APK访问未导出的组件。