gpt4 book ai didi

android - 频繁更新小部件(比 updatePeriodMillis 允许的更频繁)

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:11 26 4
gpt4 key购买 nike

我想要一个显示倒计时的小部件,以便用户启动对公交车出发的跟踪。我想每分钟左右更新一次小部件,从用户开始跟踪到公交车离开(即时间用完)。

此小部件需要比 updatePeriodMillis 允许的更频繁地更新,即每 30 分钟一次。我估计大约每分钟一次。

作为 Android 编程的新手,我可以想出几种方法来做到这一点,但我最终可能会以一种消耗太多电池等方式完成它,所以我正在寻找更有经验的人的一些见解Android 开发者。

如何启动计时器?如何从我的应用程序运行时访问小部件实例?等等。

最佳答案

我会注册一个闹钟以每 1 分钟启动一次我的服务,并且该服务会更新小部件 UI

final Intent intent = new Intent(context, UpdateService.class);
final PendingIntent pending = PendingIntent.getService(context, 0, intent, 0);
final AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pending);
long interval = 1000*60;
alarm.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),interval, pending);

如果设备处于 sleep 状态,AlarmManager.ELAPSED_REALTIME 将不会唤醒设备,电池生命周期不应受到影响。

关于android - 频繁更新小部件(比 updatePeriodMillis 允许的更频繁),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310264/

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