安装我的应用程序时的android意图
安装应用程序时,我需要执行一个操作。我已经考虑过使用安装我的应用程序时的android意图,android,Android,安装应用程序时,我需要执行一个操作。我已经考虑过使用 Intent.PACKAGE_ADDED 但我没有收到正在安装的应用程序的意图。我想在第一次安装应用程序时运行代码 用例正在向在线服务注册。我可以列出BOOT_COMPLETED,如果应用程序已经安装,这很好,但我需要在用户第一次安装应用程序时处理该情况 这个帖子,, 建议收听定时器滴答声,在第一次广播时,执行注册并设置标志,以便在下一次定时器滴答声时不执行注册。这似乎是有问题的,因为无论你在接收器里做什么或不做什么,你仍然每分钟启动一次
Intent.PACKAGE_ADDED
但我没有收到正在安装的应用程序的意图。我想在第一次安装应用程序时运行代码
用例正在向在线服务注册。我可以列出BOOT_COMPLETED,如果应用程序已经安装,这很好,但我需要在用户第一次安装应用程序时处理该情况
这个帖子,,
建议收听定时器滴答声,在第一次广播时,执行注册并设置标志,以便在下一次定时器滴答声时不执行注册。这似乎是有问题的,因为无论你在接收器里做什么或不做什么,你仍然每分钟启动一次接收器,并在这个过程中耗尽电池
有更好的解决方案吗?如果您愿意假设安装了谷歌Android Market应用程序,您可以使用INSTALL\u Referer。有关更多信息,请参阅。您无法捕获可靠的事件。即使是
TIMER\u TICK
也只能在Android 3.1以下运行。从3.1开始。此后,在应用程序处于活动状态(这意味着用户必须至少手动启动一次)之前,您无法接收系统广播
在已停止的应用程序上启动控件
从Android 3.1开始,系统的包管理器跟踪
处于停止状态的应用程序,并提供
从后台进程和其他应用程序控制其启动
应用程序
[……]
请注意,系统将添加到所有
广播意图。它这样做是为了防止从后台广播
由于无意或不必要地启动组件而导致的服务
停止申请。
[……]
应用程序首次安装时处于停止状态,但
尚未启动且用户手动停止时
(在管理应用程序中)
从
我建议在用户第一次启动应用程序时进行初始工作。随着新市场的出现,安卓3.1及以上版本的安装推荐意向将在启动时启动。所以我们可以在我们的应用程序中接收它。但是,当应用程序处于停止状态时,它仍然在2.2的安装时触发。因此,在Froyo的情况下,我无法接收到它。从Android 3.1开始,这将不再有效。在用户第一次手动启动应用程序之前,您无法接收任何广播。啊,我不知道那个公共软件,谢谢。该广播是否会以某种方式排队,并在应用程序启动时被接收?可能。我还没有研究过那个。一般来说,广播是不排队的,但市场可能会为此做一些特别的事情——我不确定。从这个角度看,如果市场应用程序设置了这个标志,它似乎可以工作。我得看看有没有,看起来没有。我不认为当前版本的Market应用程序中的3.1+设备会得到INSTALL\u Referer。我认为你有一个打字错误——你的第一句话不应该是“即使你能抓到也不可靠”吗?请注意,如果你想遵循alextsc的建议,在用户第一次启动你的应用程序时做你的初始工作,有一个新的广播正是为了这个:。