1

目前我有三个类:活动(A)、广播接收器(B)和服务(C)。

假设 A 绑定到 C,现在,B 从系统中获得了新的意图。

B可以直接绑定到C(完全相同)吗?


我发现broadcastReceiver中有一个peekService方法。

我的问题是我可以在广播接收器中绑定正在运行的服务吗?

4

2 回答 2

1

如果您已经动态注册了您的接收器,那么您可以从该方法Context.registerReceiver()绑定到一个。ServiceonReceive

但是,如果您在清单中声明了您的,那么您不应该从该方法BroadcastReceiver绑定到服务。onReceive()你可以开始- 你只是不能绑定到Service它,因为它bindService()是异步的。Android 开发指南onReceive文档中有关此的更多详细信息。

于 2012-06-05T03:50:22.270 回答
0

我发现使用 peekService 可以绑定正在运行的服务。

像这样

IBinder ib = peekService(context, new Intent(context,
                    xxxxService.class));

((xxxxService.class)ib)。在这里做任何事...

于 2012-06-06T07:22:21.957 回答