Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将服务绑定到广播接收器_Android_Broadcastreceiver_Android Service_Android Alarms - Fatal编程技术网

Android 将服务绑定到广播接收器

Android 将服务绑定到广播接收器,android,broadcastreceiver,android-service,android-alarms,Android,Broadcastreceiver,Android Service,Android Alarms,我有一些服务类,可以注册多个警报 在我的BroadcastReceiver类中,我希望onReceive()方法调用服务类的某个方法 然而,我不知道如何将它们结合在一起。我试图将BroadcastReceiver设置为一个内部类,但随后出现了更多错误,根本无法触发警报 谢谢看看生命周期。创建BroadcastReceiver仅用于处理消息。这意味着它的生命非常短暂,而且它也是无国籍的。所以你不能和它绑定任何东西 无论如何,您可以尝试启动一个服务表单onReceive(上下文、意图)Broadca

我有一些服务类,可以注册多个警报

在我的BroadcastReceiver类中,我希望onReceive()方法调用服务类的某个方法

然而,我不知道如何将它们结合在一起。我试图将BroadcastReceiver设置为一个内部类,但随后出现了更多错误,根本无法触发警报

谢谢

看看生命周期。创建BroadcastReceiver仅用于处理消息。这意味着它的生命非常短暂,而且它也是无国籍的。所以你不能和它绑定任何东西

无论如何,您可以尝试启动一个服务表单
onReceive(上下文、意图)
BroadcastReceiver方法, 像这样:

    public void onReceive(Context context, Intent intent) {
        Intent intent2 = new Intent(context, GCMService.class);
        intent2.putExtras(intent);
        context.startService(intent2);
}
然后a=服务应处理广播消息。

来自

注意:只有活动、服务和内容提供商可以绑定到服务-您不能从广播接收器绑定到服务


我找到了一些解决方法,因此不再相关。我仍然想知道这是否可以做到。我尝试过各种Peek Serivce()和使用静态实例字段,但都不起作用。