即使强行关闭,非短信短信应用也可以在收到短信时接收广播吗?

时间:2015-12-01 03:36:47

标签: android sms android-broadcastreceiver

所以我已经按照这个guideline来显示收到短信时的简单吐司。虽然它在应用程序运行时正常工作,但当我进入设置并强制关闭应用程序时,它将停止工作。

我在StackOverflow上检查了很多关于simmilar问题的答案,但没有人真正回答是否(以及如何)在每次收到短信时都可以执行一段代码,而不会将应用程序设置为默认的SMS应用程序设备(Android 4.4+)。是吗?

考虑即使服务也可以停止,当发生这种情况时,服务不再是解决方案。

我对API级别19 +

感兴趣

由于

1 个答案:

答案 0 :(得分:5)

不幸的是,不,如果没有您的应用是默认的短信应用,这是不可能的。当用户强行关闭您的应用时,它会重新进入已停止状态,并且其静态注册的Receiver将无法工作,直到用户再次运行您的应用。默认的SMS应用程序在这方面是特殊的,因为系统仍会启动它来处理SMS_DELIVER广播,即使你强行停止它。

如果时效性不是主要问题,您可以在每次应用运行时查询SMS提供商,并确定自上次运行以来是否遗漏了任何新消息。