将服务绑定到BroadcastReceiver

Mug*_*gen 8 android broadcastreceiver android-service android-alarms

我有一些Service类,它注册多个警报.

在我的BroadcastReceiver类中,我希望onReceive()方法调用Service类的某些方法.

但是,我不知道如何将它们绑在一起.我试图让BroadcastReceiver成为一个内部类,但后来我遇到了更多错误,根本无法触发警报.

谢谢

m-s*_*lik 6

请查看http://developer.android.com/reference/android/content/BroadcastReceiver.html生命周期.BroadcastReceiver仅用于处理消息.这意味着它的生命很短暂,蚂蚁也是无国籍的.所以你不能绑定任何东西.

无论如何,你可以尝试启动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);
}
Run Code Online (Sandbox Code Playgroud)

然后a =服务应处理广播消息.