我正在编写一个具有标准活动的Android应用程序,但也需要始终监视传入/传出呼叫和文本。此外,应用程序需要每天一次通知用户信息而不打开活动。它通知用户的信息存储在数据库中,因此不需要与活动进行通信。我已经研究了一个星期,仍然无法决定如何去做这件事。我的直觉告诉我,我需要一个具有持续运行的广播接收器的远程服务,但我看到的每个远程服务示例都过于复杂。谁能帮助我更好地了解我需要采取的步骤?提前谢谢。
答案 0 :(得分:2)
嗯,不。我这样说,因为:我的直觉告诉我,我需要一个具有持续运行的广播接收器的远程服务
使用您的清单中注册的BroadcastReceivers
可以随时进行广播,因为即使您的应用程序没有其他任何内容正在运行,它们也可以获得控制权。使用IntentService
执行BroadcastReceivers
所需的任何“繁重工作”,因为BroadcastReceiver
获取主应用程序线程上的控件(在onReceive()
中),因此应该执行尽可能少的工作。另外,使用AlarmManager
向BroadcastReceiver
发出信号(或者,可能是您的IntentService
),为每日一次的活动提出Notification
。
此外,请注意,您无法“监控...传出...文本”,而“监控...传入......文本”则要求您使用无证件的功能Android系统。虽然可能 android.provider.Telephony
不会消失,但您只需要了解所涉及的风险。