gpt4 book ai didi

android - 如何每分钟运行一次BroadcastReceiver?

转载 作者:行者123 更新时间:2023-12-02 13:19:44 26 4
gpt4 key购买 nike

我正在开发一个应用程序来每分钟监控网络。我为此使用了 BroadcastReceiver。

我想每分钟执行一次BroadcastReceiver。

我该怎么做?我可以在 BroadcastReceiver 中使用 Thread.sleep() 吗?

在android中持续运行BroadcastReceiver可以吗?

最佳答案

广播接收器被设计为仅在接收到某些广播(系统广播或用户定义的广播)时运行。如果您想每分钟运行一些代码,您可以创建一个服务并使用警报管理器安排它每分钟运行一次。您可以使用警报管理器从广播接收器启动该服务,它将每分钟运行一次。

在广播接收器的 onRecieve() 方法中,使用类似于以下给出的代码:

PendingIntent service = null; 
Intent intentForService = new Intent(context.getApplicationContext(), YourService.class);
final AlarmManager alarmManager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
final Calendar time = Calendar.getInstance();
time.set(Calendar.MINUTE, 0);
time.set(Calendar.SECOND, 0);
time.set(Calendar.MILLISECOND, 0);
if (service == null) {
service = PendingIntent.getService(context, 0,
intentForService, PendingIntent.FLAG_CANCEL_CURRENT);
}

alarmManager.setRepeating(AlarmManager.RTC, time.getTime()
.getTime(), 60000, service);

关于android - 如何每分钟运行一次BroadcastReceiver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15615817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com