如何在X秒后发送延迟的BroadcastReceiver

时间:2013-02-03 23:06:15

标签: android broadcastreceiver

我有一个扩展BroadcastReceiver的类,在这个类的onReceive方法中我有这个代码:

Intent autoBoostIntent = new Intent();
autoBoostIntent.setAction(Values.ACTION_AUTO_BOOST);
context.sendBroadcast(autoBoostIntent);

通过特定的action反复调用相同的BroadcastReceiver类。问题是,我想延迟上述过程,因此例如每10秒发送一次广播。这可能吗?

编辑:无论设备是否处于唤醒状态(键盘已解锁),我都希望广播无限循环。

1 个答案:

答案 0 :(得分:1)

简单来说,您只需在代码中添加Thread.sleep(10000),这将导致线程在继续执行下一个操作之前休眠10秒。

如果您正在使用BroadcastReceivers,则可以扩展您的应用程序以使用AlarmManager类,该类将在设定的时间触发广播(您可以从现在开始以编程方式设置为10秒) )。

或者您可以使用Handler