我有一个GCMListenerService,用于从我的服务器到我的客户端的推送通知。我需要这个监听器来中断在Presenter中运行的线程(我的项目是使用MVP模式构建的)。但是,我不知道如何将结果接收器传递给服务,因为我不认为我可以覆盖onStartCommand()。另一个选项是LocalBroadCast Manager,但即使活动暂停,我也希望该消息能够通过,所以我不认为本地广播经理会工作。
答案 0 :(得分:0)
按如下方式创建抽象BroadcastReceiver:
public abstract class DataReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
onDataRefresh(intent);
}
protected abstract void onDataRefresh(Intent intent);
}
并在活动中使用它,如下所示:
class Acb extends Activity{
onCreate(){
DataReceiver data = new DataReceiver(
@Override
protected void onMenuItemUpdate(Intent intent) {
});
}
}
无论您使用sendBroadcast(intent);
传递的数据是什么,您都可以在此处访问这些数据。