gpt4 book ai didi

Android 开发人员 - 警报管理器与服务

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

我正在制作一个需要每小时执行一个功能的应用程序,即使该应用程序已关闭。

首先,我想创建一个服务,但在测试过程中,我意识到 android 有时会终止我的服务。所以我在寻找另一个解决方案,我找到了 AlarmManager。我已经实现了它并且它似乎有效但我怀疑它是否会与服务发生相同或它会永远运行? (直到手机重启...)

另外一个问题,需要创建一个新的线程来执行报警管理器中的进程还是直接在其他线程中运行?

最佳答案

I have implemented it and it seems to work but I have the doubt if it will happen the same the service or it will run forever? (Until reboot of the mobile...)

它将运行到:

  • 如您所述,设备已重新启动,或者
  • 用户卸载了您的应用,或者
  • 您自己取消 Activity ,或者
  • 用户进入“设置”,在已安装应用列表中找到您的应用,点击该条目,然后点击“强制停止”按钮

有可能你的应用升级后需要重新安排闹钟(我忘记了...)。

it is necessary to create a new thread to execute the process in alarm manager or it runs directly in other thread??

除非您要做的工作只需要几毫秒,否则您需要一个后台线程。这导致两种可能的模式:

  1. 如果您没有使用 _WAKEUP 样式的警报,请使用 getService() PendingIntent 将控制发送到 IntentService 每小时

  2. 如果您使用的是 _WAKEUP 样式的闹钟,则需要使用 getBroadcast() PendingIntent,并且它要么调用你的 my WakefulIntentService 的子类,否则您将需要自己管理一个WakeLock,以便在您做一些工作时让设备保持唤醒状态

关于Android 开发人员 - 警报管理器与服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16158086/

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