Android - 从一个活动向服务发送数据

3
我有一个本地服务在我的主要活动中启动。该服务负责网络I / O。它还与我的应用程序中的其他活动交互。到目前为止,该服务仅使用回调(而不是Intents)向活动“提供”数据。
现在,我需要从我的活动向服务发送数据(自定义对象)。我知道可以使用Intents来完成这一点。我知道可以通过在我的服务中覆盖onStartCommand() 方法来接收Intent。但是我不清楚每次我从我的发送活动广播Intent时是否都会调用onStartCommand。一个Service也可以作为BroadcastReceiver吗?如果可以-怎么做?
谢谢。
1个回答

5

您可以在服务中创建一个BroadcastReceiver对象,并将其注册以侦听您想要的任何广播事件。就像这样:

BroadcastReceiver mScreenStateReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        //handle the broadcast event here
    }
};

@Override
public void onCreate() {
    super.onCreate();

    IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
    filter.addAction(Intent.ACTION_SCREEN_ON);
    registerReceiver(mScreenStateReceiver, filter);

}

@Override
public void onDestroy() {
    super.onDestroy();
    unregisterReceiver(mScreenStateReceiver);
}

问候,


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接