我希望能够在从.apk安装服务后立即启动我的服务,但是根据post,似乎不可能。鉴于我正在使用的项目的性质,替代解决方案是拥有一个可以远程触发的应用程序来启动新安装的服务。这会没有root权限吗?换句话说,是启动新安装的应用程序(从.apk)手动启动它的唯一方法吗?
谢谢
答案 0 :(得分:1)
换句话说,是启动新安装的应用程序(从.apk)手动启动它的唯一方法吗?
对于“手动”的某些定义,是的。
新安装的应用程序处于所谓的“停止状态”。在某些内容使用显式Intent
与其中一个组件进行通信之前,该应用程序不会运行,例如清单注册的接收器。
通常,这是由用户点击主屏幕启动器图标来处理的。但是,还有其他情况。例如,在主机和插件情况下,主机可能正在监视ACTION_PACKAGE_ADDED
广播,以查看是否安装了插件。然后,主机可以使用显式Intent
来启动与插件的通信(例如,将命令发送到插件公开的服务)。此时,插件的行为就像普通应用程序一样。
另一种解决方案是拥有一个可以远程触发的应用程序来启动新安装的服务
这让我觉得有一些可能的安全问题,但是,你可以通过一些网络事件告诉App A“哟!现在已经安装了应用程序B!去使用一些明确的Intent
与它交谈!”。
这是否可以在没有root权限的情况下工作?
是