【问题标题】:Android - Sending data from an activity to a serviceAndroid - 将数据从活动发送到服务
【发布时间】:2010-08-02 04:57:48
【问题描述】:

我有一个在我的主要活动中启动的本地服务。该服务负责网络 I/O。它还与我的应用程序中的其他活动交互。直到现在,服务只是“提供”数据给活动(使用回调而不是意图)。

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

谢谢。

【问题讨论】:

    标签: android service android-intent broadcastreceiver


    【解决方案1】:

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

    问候,

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2021-06-26
      • 1970-01-01
      相关资源
      最近更新 更多