2

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

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

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

4

1 回答 1

1

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

在这里,您可以阅读有关 BroadcastReceiver 生命周期的更多信息。

于 2013-08-19T06:12:46.817 回答