【发布时间】:2017-05-02 17:11:51
【问题描述】:
我正在尝试通过以下命令从 ADB 启动服务 -
adb shell am startservice -n com.ixigo/.mypnrlib.service.SMSParsingService -a com.ixigo.mypnrlib.ACTION_PARSE_EXISTING_MESSAGES
我收到以下回复
启动服务:Intent { act=com.ixigo.mypnrlib.ACTION_PARSE_EXISTING_MESSAGES cmp=com.ixigo/.mypnrlib.service.SMSParsingService } 错误:需要未从 uid 10693 导出的权限
现在,当我通过 --user 参数指定用户并且应用程序通过相同的用户 ID 启动并运行时:
adb shell am startservice --user 10693 -n com.ixigo/.mypnrlib.service.SMSParsingService -a com.ixigo.mypnrlib.ACTION_PARSE_EXISTING_MESSAGES
我收到以下消息:
启动服务:Intent { act=com.ixigo.mypnrlib.ACTION_PARSE_EXISTING_MESSAGES cmp=com.ixigo/.mypnrlib.service.SMSParsingService } 错误:未找到;没有服务启动。
我不想公开服务有没有其他方法可以从 ADB 调用它?
【问题讨论】:
-
你使用的是root shell吗?如果不参考这个:stackoverflow.com/questions/34047962/adb-broadcast-with-user-id
-
@SamT01 谢谢,这解释得很好。