Android8.0以降でウィジェット更新されない?


Googleより、

11月1日までにアプリのtargetSDKversionを26(8.0)以上にしないと・・・

といった旨のメールが来ていたので、先日、名言EVERYDAY365となんでもEVERYDAYのバージョンアップをしたら、8.0以降でウィジェットが更新されない事態に。

(不具合に遭遇している皆様、ご不便をおかけしてすみません。)

原因は、8.0からバッテリー消費の抑制のため、バックグラウンドサービスと一部を除いて暗黙的なブロードキャストが使えなくなっていたとか。

今まではウィジェットの更新に、

・バックグラウンドサービスで暗黙的なブロードキャスト(TIME_TICKなど)を取得
・暗黙的なブロードキャストをレシーブして、ウィジェットを更新

としていたのですが、これからは、

・ジョブスケジューラ(jobScheduler)で定期的(最短15分間隔)に明示的なブロードキャストを作成
・明示的なブロードキャストをレシーブして、ウィジェットを更新

(上で動かなかったので追記)
・ジョブスケジューラ(jobScheduler)で定期的(最短15分間隔)にウィジェットを更新

に変更して動作しました。
※なんでもEVERYDAYの1~12分間隔の更新はできなくなりました。

コメントを残す

メールアドレスが公開されることはありません。