代码之家  ›  专栏  ›  技术社区  ›  Soumya Simanta

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

  •  2
  • Soumya Simanta  · 技术社区  · 14 年前

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

    onStartCommand() 为我效劳。但我不清楚每次从发送活动广播意图时是否都会调用onStartCommand。服务是否也可以 BroadcastReceiver ? 如果是-如何?

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  5
  •   Binh Tran    14 年前

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

    当做,