gpt4 book ai didi

android - 关于本地/远程服务、广播接收器和 Intent 服务的结构问题

转载 作者:行者123 更新时间:2023-11-29 22:29:49 24 4
gpt4 key购买 nike

我正在编写一个具有标准 Activity 的 Android 应用程序,但还需要始终监控传入/传出调用和文本。此外,应用程序需要在不打开 Activity 的情况下每天通知用户一次信息。它通知用户的信息存储在数据库中,因此不需要与 Activity 进行通信。我已经研究了一个星期,但仍然无法决定如何去做。我的直觉告诉我,我需要一个具有持续运行的广播接收器的远程服务,但我看到的每个远程服务示例都过于复杂。谁能帮助我更好地理解我需要采取哪些步骤?提前致谢。

最佳答案

My instinct tells me I need a remote service that has a constantly running broadcast receiver

嗯,不。我这么说是因为:

  • 只有一个应用程序,因此不需要“远程”服务
  • “有一个持续运行的广播接收器的服务”是一个非常糟糕的主意,因为用户会用任务 killer 攻击你,即使他们不这样做,Android 最终也会终止你的服务,因为这是浪费空间

使用在您的 list 中注册的 BroadcastReceivers 进行随时可能发生的广播,因为即使您的应用程序没有其他任何内容正在运行,它们也将获得控制权。使用 IntentService 执行那些 BroadcastReceivers 所需的任何“繁重工作”,因为 BroadcastReceiver 获得控制权(在 onReceive() 中) 在主应用程序线程上,因此应该做尽可能少的工作。此外,使用 AlarmManagerBroadcastReceiver(或者,可能是您的 IntentService)发出信号,为您发出一个 Notification每日一次的 Activity 。

此外,请注意,您无法“监控...传出...文本”,而“监控...传入...文本”需要您使用未记录的功能安卓。虽然可能 android.provider.Telephony 不会消失,但您只需要了解所涉及的风险。

关于android - 关于本地/远程服务、广播接收器和 Intent 服务的结构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532221/

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