我有一个需要读取所有传入SMS消息的应用程序。我写了一个BroadcastReceiver并注册以收听意图-android.provider.Telephony.SMS_RECEIVED。后来我意识到它只能在过程处于前台时接收广播。

根据BroadcastReceiver的Javadoc中的建议,我查看了Services。这看起来很有希望,但是即使在内存不足的情况下也可能被杀死。我还看到了允许用户杀死后台进程的应用程序,因此他们也可以杀死它。

那么,捆绑的SMS客户端如何管理始终接收和存储SMS消息?

最佳答案

您需要在Android Manifest文件中注册接收器。用户至少启动一次您的应用程序后,它将变为活动状态。接收者将始终收到通知。即使您的应用未运行且有SMS,Android也会启动您的应用并向其发送广播。

Here您可以阅读有关BroadcastReceiver生命周期的更多信息。

关于android - 如何保证我的应用程序将始终接收到所有收到的短信?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18307255/

10-11 20:27