繁体   English   中英

如何将参数传递给广播接收器类?

[英]How to pass parameters to Broadcast receiver class?

我创建了一个广播接收器,它工作正常。 但我需要将处理程序传递给该类。

 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM