因此,我的应用程序有一项服务,如果用户打开它,该服务就会始终运行。它使用广播接收器监听 USER_PRESENT
以显示消息。它只应该显示解锁消息。
问题是,当 Android 内存不足并终止它,然后重新启动它时,即使用户尚未解锁其设备,它也会再次显示该消息。有没有办法知道谁调用了该服务?
我使用 service.START_NOT_STICKY
,但是 service.START_STICKY
是否更适合这项工作?我想我并不完全理解这些差异,但我很确定我想要 NOT_STICKY
。
最佳答案
您可以在调用接收方时将intent
中的action
字段设置为特定字符串,然后在onReceieve
中检查它。
如果它有你的字符串,那么你就调用了它,否则是其他人。
关于java - 我如何知道我的服务何时从广播接收器与 Android 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151949/