如何将参数传播到广播接收器类



我创建了一个广播接收器,而且工作正常。但是我需要将处理程序通过该课程。

 public static class DataReceiver extends BroadcastReceiver {
        Handler handler;
        DataReceiver(Handler loghandler) {
            this.handler = loghandler;
        }
          @Override
        public void onReceive(Context context, Intent intent) {
            //things goes here
        }
}

目前我正在使用这样的&如果构造函数覆盖不可用,它正在工作。

Intent intent = new Intent(this, DataReceiver .class);

,但我也需要通过处理程序。我该如何发送处理程序?谢谢

我不太了解您要完成的工作,但我认为这可能会对您有所帮助。您不需要为广播接收器做一个全新的课程,但是可以在这样的主要活动中使用它:

BroadcastReceiver receiveLocationReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            // Your custom action
        }
    };
    IntentFilter receiveLocationFilter = new IntentFilter();
    receiveLocationFilter.addAction("android.intent.RECEIVE_LOCATION");

在" onstart"中注册接收器:

registerReceiver(receiveLocationReceiver, receiveLocationFilter);

在" onstop"中取消注册:

unregisterReceiver(receiveLocationReceiver);

然后,当您需要发送广播时,您需要的只是:

Intent sendBroadcastIntent = new Intent("android.intent.RECEIVE_LOCATION");
sendBroadcast(sendBroadcastIntent);

最新更新