将服务绑定到BroadcastReceiver

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

在我的BroadcastReceiver类中,我想让onReceive ()方法调用Service类的某个方法。

但是,我不明白我怎么能把他们绑在一起。 我试图让BroadcastReceiver成为一个内部类,但是我得到了更多的错误,根本无法触发警报。

谢谢

  • 在AndroidManifest.xml中注册本地BroadcastReceiver?
  • Android:检测另一个应用程序已经开始播放音频
  • 如何在android中放弃BroadcastReceiver
  • AlarmManager并不总是执行BroadcastReceiver
  • 我怎样才能通知广播接收机正在运行的活动?
  • Android BroadcastReceiver,设备重启后自动运行服务
  • 片段中的动态广播接收器
  • 检查广播接收者是否已注册?
  • http://developer.android.com/reference/android/content/BroadcastReceiver.html生命周期。 BroadcastReceiver仅用于处理消息。 这意味着它的生命是非常短暂的,它也是无国界的。 所以你不能绑定任何东西。

    无论如何,你可以尝试启动一个服务的formsonReceive(Context context, Intent intent)方法的BroadcastReceiver,如下所示:

      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

    注意:只有活动,服务和内容提供者可以绑定到服务 – 不能绑定到来自广播接收者的服务。