我有一个需要读取所有传入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/