gpt4 book ai didi

安装我的应用程序时的android Intent

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:20 25 4
gpt4 key购买 nike

我需要在安装我的应用程序时执行一个操作。我研究过使用

Intent.PACKAGE_ADDED

但我没有收到正在安装的应用程序中的 Intent 。我想在第一次安装我的应用程序时运行代码。

用例正在注册在线服务。我可以列出 BOOT_COMPLETED,如果应用程序已经安装,这很好,但我需要处理用户首次安装应用程序时的情况。

这篇文章, Can you run an intent or script when your app gets installed on Android?

建议监听 TIMER_TICK 并在第一次广播时执行注册并设置标志,以免在下一个 TIMER_TICK 时执行。这似乎有问题,因为无论您是否在接收器中做某事,您仍然每分钟都会启动接收器并在此过程中耗尽电池。

有没有更好的解决方案?

最佳答案

没有您可以捕获的可靠事件。即使是 TIMER_TICK 也只能在 Android 3.1 以下运行。从 3.1。之后您无法接收系统广播,直到您的应用处于 Activity 状态(这意味着用户必须至少手动启动一次)

Launch controls on stopped applications

Starting from Android 3.1, the system's package manager keeps track ofapplications that are in a stopped state and provides a means ofcontrolling their launch from background processes and otherapplications.

[...]

Note that the system adds FLAG_EXCLUDE_STOPPED_PACKAGES to allbroadcast intents. It does this to prevent broadcasts from backgroundservices from inadvertently or unnecessarily launching components ofstoppped applications.[..]

Applications are in a stopped state when they are first installed butare not yet launched and when they are manually stopped by the user(in Manage Applications).

来自 3.1. release notes

我建议在用户第一次启动您的应用时进行初始工作。

关于安装我的应用程序时的android Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8512270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com