Android用のアラームアプリを作成しようとして、AlarmManagerを使用しています。電話がスリープ状態のときに setRepeating が機能していないことに気付きました。そこで、setExactAndAllowWhileIdle を試してみました。
しかし、私はこれを読みました:
他のアラームとは異なり、システムはこのタイプのアラームを自由に再スケジュールして、同じアプリからのアラームであっても、他のアラームとは異なる順序で発生させます。これは、デバイスがアイドル状態のときに明らかに発生します (このアラームは、アプリからの他のアラームが後で保留される場合、アイドル中にオフになる可能性があるため) が、アイドル状態ではない場合でも発生する可能性があります。アプリケーションがこの動作を選択しているため、OS は、これらのアラームを通常の正確なアラームよりも柔軟にスケジュールできることに注意してください。デバイスがアイドル状態のときは、バッテリ寿命を最適化するために、スケジューリングをさらに自由に行う必要があります。
目覚まし時計のように正確なタイミングが必要です。ユーザーが午前 6:00 に設定してから、6:01 または 6:02 に鳴らすのは変です! 電話がアイドル状態でまったく鳴らないのは壊滅的です!
今何ができますか?