Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在安装时启动android服务_Android - Fatal编程技术网

如何在安装时启动android服务

如何在安装时启动android服务,android,Android,我有一个设备管理应用程序,它基本上是从引导开始作为服务在后台运行的。我希望在安装后立即启动此应用程序。如何实现这一点?您无法做到这一点-无法仅因为安装了服务就自动启动服务 用户必须首先通过某种活动调用应用程序。或者,您需要通过清单钩住一些相关的广播意图,这样您就可以在其中一个事件发生时获得控制权,并以这种方式启动您的服务。或者,您需要要求用户重新启动,以便引导完成的意图过滤器能够得到控制。有一个漏洞-Android Analytics SDK用于在安装后立即发送意图-但是这个漏洞被关闭了,当然会

我有一个设备管理应用程序,它基本上是从引导开始作为服务在后台运行的。我希望在安装后立即启动此应用程序。如何实现这一点?

您无法做到这一点-无法仅因为安装了服务就自动启动服务


用户必须首先通过某种活动调用应用程序。或者,您需要通过清单钩住一些相关的广播意图,这样您就可以在其中一个事件发生时获得控制权,并以这种方式启动您的服务。或者,您需要要求用户重新启动,以便引导完成的意图过滤器能够得到控制。

有一个漏洞-Android Analytics SDK用于在安装后立即发送意图-但是这个漏洞被关闭了,当然会产生很多混乱

但我相信最后的答案是:

这似乎表明,从3.1开始,谷歌决定应用程序处于停止状态,直到用户明确激活它们,例如启动应用程序或放置小部件


这意味着收听普通广播的策略(即秘密启动应用程序)也不会起作用。

谢谢,我怀疑可能是这样。考虑到操作系统通常是经过深思熟虑的,这似乎有点疏忽。是的,这是故意的。下载应用程序时,应用程序安装会自动在后台进行。我们希望在用户第一次明确访问应用程序之前,不要运行应用程序代码。请不要告诉用户重新启动他们的设备。没有这个必要。让他们运行你的应用程序,并在第一次运行时进行初始化。好吧,这并不是真正为了安全,因为我可以在启动时运行代码,或者在收到的短信中运行代码,或者在下一次安装软件包时运行代码。我会将其更多地归类为推动平台行为的类别。不过,对我的客户来说,这看起来就像是一个bug——在Android上,要想让服务运行起来,还需要一个额外的环。这不是用户从市场上选择的应用程序,这更可能是运营商或企业希望在手机上安装的应用程序,最好没有任何终端用户交互。如果运营商正在手机上安装,手机将在到达用户之前重新启动,这仅仅是因为运营商没有保持他们的手机库存在运行——在定制之后和交付给客户之前,他们将被关闭。就企业而言,Android目前的形式是为消费者设计的,因此为了保护消费者免受恶意软件的侵害,平台中会有各种各样的东西与企业的需求背道而驰。@commonware:Plan B所利用的技术是什么?