android - 每 1 分钟更新一次 Android 小部件

标签 android android-widget

我正在编写一个 Android 小部件。我想每 1-5 分钟更新一次以监视来自 Web 服务的数据,但我发现 android:updatePeriodMillis 不能少于 30 分钟。

如何使用小部件获得此结果?

最佳答案

为每 1 分钟的调用注册一个 AlarmManager 服务。

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);

但是,将更新推送到应用小部件是一项昂贵的操作。每 1 分钟更新一次会强制您的“更新应用程序小部件”代码驻留在一直运行的内存中,这也会显着消耗电池电量。

关于android - 每 1 分钟更新一次 Android 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5721548/

相关文章:

android - 自动从 Android 和 IOS 发送短信

android - Android 设备上的低功耗蓝牙 RSSI 会定期更改

android - 用于相等间距和性能的嵌套布局权重

android - 使用警报管理器频繁更新小部件

Android:使用 OnClick 监听器将位图图形保存到图片库

javascript - 有没有办法在 Android 中为 Safari 启用 JavaScript 错误/调试控制台?

android - 手动将值插入 SQLite 数据库

Embarcadero XE5 中的 Android NFC

内容的 Widget RemoteViewsFactory 中的 Android 权限拒绝

android - 这个 "spinner like"控件的名称是什么?