我有这个应用程序,其中用户更新Activity中的某些变量,并且此Activity使用BroadcastReceiver将新变量传递给IntentService.但是,IntentService中的BroadcastReceiver似乎没有接收广播.这是服务中用于创建广播接收器的代码
protected class UpdateReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent){
Log.d("receiver", "Got message: ");
//state=3;
//Toast.makeText(context, "got it", Toast.LENGTH_SHORT).show();
}
};
这是在onHandle()函数中注册接收器的代码
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("updates");
UpdateReceiver lol = new UpdateReceiver();
DetectService.this.registerReceiver(lol, intentFilter);
最后,这是从活动发送广播的代码
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("updates");
HomePageActivity.this.sendBroadcast(broadcastIntent);
Log.d("sender", "send msg");
当我将接收器放在与广播部分相同的活动中时,它可以工作,但是当我将它放入IntentService时.请帮忙!
在另一个相关的说明中,我尝试在这个项目中使用LocalBroadcastManager,因为广播都是本地的,但是eclipse似乎无法导入兼容性类.我已经使用Android SDK管理器安装了它.我有什么问题吗?