我正在使用此代码:
Intent i = getApplicationContext().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
据我所知,如果ACTION_BATTERY_CHANGED没有发生,i
应为null,但它永远不会为null,并且总是返回相同的数据。
当我使用广播接收器时它工作正常。收到后我是否需要删除意图?
答案 0 :(得分:3)
只要您注册粘性意图,就会始终为您提供上次广播的数据。这就是你总是收到数据的原因
答案 1 :(得分:1)
通常你使用sendBroadcast(Intent)发送广播接收器但是当你调用这个方法sendStickyBroadcast(Intent)时,这意味着可以指定A广播Intent是粘性的,在这种情况下它将保留系统发送后。但默认情况下,Intent.ACTION_BATTERY_CHANGED意图是粘性的。
在这里阅读完整的帖子http://iphoidtech.com/uncategorized/what-is-stcky-intent/