在我的实验室工作中,我必须创建一项服务,当电池放电速度大于设定值时发送通知。
我为此值创建了一个带有EditText的Activity,以及用于启动和停止服务的2个按钮。我还创建了一个BatteryService类,继承了Service类和BatteryReciever。
现在在onStartCommand中使用操作BATTERY_CHANGED重新接收寄存器。问题是如何将数据传递给接收者或如何了解服务中的事件。
解决此任务的最佳方法是什么?
答案 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
试试这个。这将有效。