現在のデータで毎分更新する Android アプリ ウィジェットを作成しています。それを更新するためにAlarmManager
、電話がスリープしていないときにのみ機能するを使用しています。
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), INTERVAL_SEC * 1000, createFrequentUpdateIntent(context));
ただし、次の課題に直面しています。電話が長時間の後に復帰したときに、データが何時間も更新されていないため、データが古いことをすぐにユーザーに確認してもらいたいのです。そのため、長期間更新がない場合は、何らかの方法でデータを古いものとしてマークしたいと考えています。
イベントにフックすることを考えましたSCREEN_ON
が、どうやらこれはバックグラウンド サービスを介してのみ可能であり、これは強くお勧めしません (こことここ)。
これを行う方法のアイデアはありますか?
ありがとう!