Android-将数据从活动发送到服务

Android-将数据从活动发送到服务,android,service,android-intent,broadcastreceiver,Android,Service,Android Intent,Broadcastreceiver,我有一个本地服务,这是从我的主要活动开始的。该服务负责网络I/O。它还与我的应用程序中的其他活动交互。到目前为止,该服务只向活动“提供”数据(使用回调而不是意图) 现在,我需要将数据(自定义对象)从活动发送到服务。我知道一种使用意图的方法。我知道,通过覆盖我的服务中的onStartCommand(),可以在服务中接收意图。但我不清楚每次我从发送活动中广播意图时是否会调用onstart命令。服务也可以是广播接收器吗?如果是-如何 谢谢 您可以在服务中创建一个BroadcastReceiver对象,

我有一个本地服务,这是从我的主要活动开始的。该服务负责网络I/O。它还与我的应用程序中的其他活动交互。到目前为止,该服务只向活动“提供”数据(使用回调而不是意图)

现在,我需要将数据(自定义对象)从活动发送到服务。我知道一种使用意图的方法。我知道,通过覆盖我的服务中的
onStartCommand()
,可以在服务中接收意图。但我不清楚每次我从发送活动中广播意图时是否会调用onstart命令。服务也可以是广播接收器吗?如果是-如何


谢谢

您可以在服务中创建一个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);
}
问候,