【发布时间】:2020-05-21 19:02:18
【问题描述】:
我有一个带有倒数计时器的小部件,在 Android 4.1 中运行良好。但我在 5.1 中尝试过,它不再工作了。阅读博客和文档是该 android 版本的变化
这是我在 AppWidgetProvider 类的 onEnabled 中的代码
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+ 100 * 1, 1000 , pi);
}
我读到 setRepeating 没有更多的支持,我应该使用 setExact 或其他东西。也没有用。
最好的解决方案是实现一个 WakefulBroadcastReceiver 但我不知道如何每秒启动他的 onReceive 方法来更新小部件。
【问题讨论】:
-
我将此代码用作我的应用程序 code4reference.com/2012/07/… 的基础,它适用于 Android 4.1
标签: android alarmmanager