Android:如何将数据从服务传递到broadcastreceiver

时间:2015-04-04 13:49:39

标签: android android-intent android-service android-broadcast

在我的实验室工作中,我必须创建一项服务,当电池放电速度大于设定值时发送通知。

我为此值创建了一个带有EditText的Activity,以及用于启动和停止服务的2个按钮。我还创建了一个BatteryService类,继承了Service类和BatteryReciever。

现在在onStartCommand中使用操作BATTERY_CHANGED重新接收寄存器。问题是如何将数据传递给接收者或如何了解服务中的事件。

解决此任务的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

要触发BroadcastReceiver,您需要使用

sendBroadcast(intent);

Service中要发送的数据放在intent中,如下所示:

Intent intent = new Intent("my.custom.action");
Bundle b = new Bundle();
b.putSerializable("name", name);
b.putShort("count", count);
intent.putExtra("bundle", b);
sendBroadcast(intent);

并使用onReceive()的{​​{1}}方法检索数据:

BroadcastReceiver

试试这个。这将有效。