我有一个应用程序需要读取每个传入的SMS消息。我写了一个BroadcastReceiver
并注册听取意图 - android.provider.Telephony.SMS_RECEIVED
。后来我意识到它只能在进程处于前台时接收广播。
根据BroadcastReceiver
的Javadoc中的建议,我查看了Services。这看起来很有希望,但即使这样在内存不足的情况下也会被杀死。我也看到了允许用户杀死后台进程的应用程序,因此他们也可以杀死它。
那么,捆绑的SMS客户端如何设置始终接收和存储SMS消息?
答案 0 :(得分:1)
您需要在Android Manifest文件中注册您的接收器。用户启动您的应用至少一次后,它将变为活动状态。然后会立即通知您的接收者。即使您的应用未运行且有短信,Android也会启动您的应用并向其发送广播。
Here您可以阅读有关BroadcastReceiver生命周期的更多信息。