我有一些服务类,它注册多个警报。绑定服务BroadcastReceiver
在我广播接收器类,我想的onReceive()方法调用服务类的一些方法。
但是,我看不出我如何将它们绑定在一起。我试图让BroadcastReceiver成为一个内部类,但后来我得到了更多的错误,根本无法触发闹钟。
谢谢
我有一些服务类,它注册多个警报。绑定服务BroadcastReceiver
在我广播接收器类,我想的onReceive()方法调用服务类的一些方法。
但是,我看不出我如何将它们绑定在一起。我试图让BroadcastReceiver成为一个内部类,但后来我得到了更多的错误,根本无法触发闹钟。
谢谢
看看http://developer.android.com/reference/android/content/BroadcastReceiver.html生命周期。 BroadcastReceiver仅用于处理消息。这意味着它的生命是非常短暂的,它也是无国界的。所以你不能绑定任何东西。
反正你可以尝试启动广播接收器, 的服务形式onReceive(Context context, Intent intent)
方法是这样的:
public void onReceive(Context context, Intent intent) {
Intent intent2 = new Intent(context, GCMService.class);
intent2.putExtras(intent);
context.startService(intent2);
}
则a =服务应该处理广播消息。
从http://developer.android.com/guide/components/bound-services.html
注意:只有活动,服务和内容提供商可以绑定到服务 - 你不能绑定从广播接收机的服务。
我发现了一些解决方法,所以它不再相关。我仍然想知道这是否可以完成。我尝试了各种peekSerivce()并使用静态实例字段,但没有任何作用。 – Mugen 2013-03-13 20:16:27