【问题标题】:Best way to reset pending intent in background after reboot in Android 2021在 Android 2021 中重新启动后在后台重置待处理意图的最佳方法
【发布时间】:2021-12-08 03:38:19
【问题描述】:

我正在构建一个提醒应用程序。并且当重启设备时,已经在警报管理器中设置为pending intent的警报被销毁。所以重启时:

  1. 唤醒广播接收器
  2. BroadcastReciever 调用 Activity
  3. 此 Activity 再次设置待处理 Intent。

效果很好。但是,我使用了一个 Activity,所以这个 Activity 会在重启后一秒出现在显示屏上。那不是很好。所以我想在后台进行这项工作。

然后,我注意到我可以使用IntentService。 但是,IntentService 在 API 级别 30 中已弃用。 JobIntentSerive 也被弃用了。

我很困惑。我应该用什么来在后台进行这项工作? 谢谢。

【问题讨论】:

    标签: android kotlin broadcastreceiver alarmmanager android-pendingintent


    【解决方案1】:

    您可以直接在启动时调用的BroadcastReceiver 中重置警报。您无需启动任何其他组件即可执行此操作。

    【讨论】:

    • 成功了。我只是很好奇,在BroadcastReceiver中进行长时间运行的操作,例如查询数据库是否没有问题?我做到了,但它确实有效。无论如何,感谢您的帮助!
    • 您不应该在BroadcastReceiver 中进行长时间运行的操作,因为接收器只给了一定的运行时间。但是,这可能因设备而异。如果您需要联系服务器或类似的东西,您需要启动 Service 来执行此操作。
    猜你喜欢
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多