如何保证我的应用程序始终能够始终收到所有传入的短信?

时间:2013-08-19 06:01:27

标签: android android-broadcast

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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