Surf's UP for Android たぶんあと数日で公開

  • 投稿:
  • 更新:2019年12月 7日
  • by
  • in

surfsup_103R10.png

結経4度目のアラーム部分の作り替えです…

v1.0.2(公開ベータ)までは setAlarmClock() を使ってAndroidのDOZEモードでもアラームが起動するように作っていたのですが、Goole Pixel4(Android-10)の実機テストでアラーム鳴らず、試しにシュミレーター(Pixel3a:Android-9)で強制的にDOZE(IDLE状態)にしてテストしてみたのだけど、結果はやはりアラームが鳴りませんでした。
正確には、setAlarmClock そのものは発火(Receiverが受信)してるんだけど、その後処理で Receiver→Activity→Service でサウンドを鳴らす部分が駆動しませんでした。 ネットで色々漁ってみたのだけど、古い情報しかなくてどうにも解決方が見つからずでした。このあたり誰か知ってたら教えて下さい。

ってことで、初期の実装で使っていた setExactAndAllowWhileIdle() を使ってアラームを発火するようにもう一度調整してみました。
これだとステータスバーにアラームマークが付かないので、そのあたりは自前で用意して実装しました。スクリーンショットの矢印部分です。
まぁ、こちらの方がバッテーリーへの負担が若干少ない気もするし結果オーライです(笑)

いまのところ朝ちゃんと波乗り時間に起こされます。今日の波はダメダメで海には入らずコード書いたりしてますけどね(笑)

現在v1.0.3R10(公開ベータ)でこちらの実装で利用することができます。それ以前のバージョンだとAndroid9以降の機種ではバッテリー駆動でアラームが鳴らないと思います。