我想知道如何在没有广播接收器的情况下在服务和活动之间传递数据。
这是我做不到的:
- 我有一个通过广播定期发送意图的服务。
- 我想在需要时从活动中获取此意图的额外内容,而无需等待广播接收器。
我尝试使用此代码:
\\Service
String BROADCAST_ACTION = "ACTION";
Intent sendToUI = new Intent(BROADCAST_ACTION);
sendToUI.putExtra("key", "value");
sendBroadcast(sendToUI);
\\Activity
IntentFilter iF = new IntentFilter(MyService.BROADCAST_ACTION);
Intent intent = c.registerReceiver(null, iF);
Bundle extras = intent.getExtras();
if(extras != null){
String string = intent.getStringExtra("key");
}
但我得到一个nullpointerexception
因为intent
总是null
(我nullpointerexception
不是在捆绑附加服务中,而是在Intent intent
排队中)。