2013-03-13 127 views
7

我有一些服务类,它注册多个警报。绑定服务BroadcastReceiver

在我广播接收器类,我想的onReceive()方法调用服务类的一些方法。

但是,我看不出我如何将它们绑定在一起。我试图让BroadcastReceiver成为一个内部类,但后来我得到了更多的错误,根本无法触发闹钟。

谢谢

+0

我发现了一些解决方法,所以它不再相关。我仍然想知道这是否可以完成。我尝试了各种peekSerivce()并使用静态实例字段,但没有任何作用。 – Mugen 2013-03-13 20:16:27

回答

6

看看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 =服务应该处理广播消息。