所以我已经按照这个guideline来显示收到短信时的简单吐司。虽然它在应用程序运行时正常工作,但当我进入设置并强制关闭应用程序时,它将停止工作。
我在StackOverflow上检查了很多关于simmilar问题的答案,但没有人真正回答是否(以及如何)在每次收到短信时都可以执行一段代码,而不会将应用程序设置为默认的SMS应用程序设备(Android 4.4+)。是吗?
考虑即使服务也可以停止,当发生这种情况时,服务不再是解决方案。
我对API级别19 +
感兴趣由于
答案 0 :(得分:5)
不幸的是,不,如果没有您的应用是默认的短信应用,这是不可能的。当用户强行关闭您的应用时,它会重新进入已停止状态,并且其静态注册的Receiver将无法工作,直到用户再次运行您的应用。默认的SMS应用程序在这方面是特殊的,因为系统仍会启动它来处理SMS_DELIVER
广播,即使你强行停止它。
如果时效性不是主要问题,您可以在每次应用运行时查询SMS提供商,并确定自上次运行以来是否遗漏了任何新消息。