gpt4 book ai didi

java - 如何在我的服务中有效地安排任务?

转载 作者:行者123 更新时间:2023-11-29 19:11:43 25 4
gpt4 key购买 nike

我有一个收集数据的服务,该服务需要每小时将此数据发送到我的服务器。我知道他们有很多解决方案可用于安排任务,但就我而言,在电池消耗和资源利用方面最有效的是什么?

我的服务也可以停止,当我的服务停止时,它不能再发送任何数据(所以 alarmmanager seam 不是最好的方法,因为据我所知它将重新启动我的服务)

最佳答案

通过 AlaramManager 进行调度非常好,因为您也可以取消已调度的任务。

它可能是这样的

 AlarmManager alarm = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(getApplicationContext(), YourService.class);
alarm.set(
AlarmManager.RTC_WAKEUP,
System.currentTimeMillis() + DateUtils.HOUR_IN_MILLIS,
PendingIntent.getService(getApplicationContext(), 11, intent, PendingIntent.FLAG_UPDATE_CURRENT)
);

取消它可以这样做

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent myIntent = new Intent(getApplicationContext(), YourService.class);
PendingIntent pendingIntent = PendingIntent.getService(getApplicationContext(), 11, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);

11PendingIntent 的标识符,您可以在其中访问它。

关于java - 如何在我的服务中有效地安排任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45060898/

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