短い答え
Android でサードパーティ製のアラームが発動しないのは、メーカー独自の電池最適化に終了させられているのが原因であることがほとんどです。そのアプリの電池使用を「制限なし」に設定し、メーカーが用意していれば自動起動を有効にし、「アラームとリマインダー」の権限を許可してください。
共通の対処
- 1設定 →「アプリ」→ 使っているアラームアプリ →「電池」→「制限なし」に設定します。
- 2設定 →「アプリ」→「特別なアプリアクセス」→「アラームとリマインダー」→ そのアラームアプリを許可します。最近の Android では、正確なアラームにこれが必要です。
- 3音量キーを押してスライダーを展開し、「アラーム」の音量ストリームだけを確認します。
- 4メーカーが管理している「スリープ中」や「制限中」の一覧に、そのアプリが入っていないことを確認します。
メーカー別の設定
- Samsung:設定 →「バッテリーとデバイスケア」→「バックグラウンド使用制限」。「スリープ中のアプリ」と「ディープスリープ中のアプリ」からそのアプリを外します。アラームが不定期に失敗するなら「自動調整バッテリー」も無効にしてください。
- Xiaomi・Redmi・POCO:設定 →「アプリ」→「アプリの管理」→ 対象のアプリ →「自動起動」を有効にし、「バッテリーセーバー」を「制限なし」にします。さらに最近のアプリ一覧でそのアプリをロックし、タスクキラーに飛ばさせないようにしてください。
- OnePlus・Oppo:設定 →「バッテリー」→「バッテリー最適化」→ そのアプリを「最適化しない」に設定し、「詳細な最適化」と「スリープスタンバイ最適化」を無効にします。
- Huawei:設定 →「バッテリー」→「アプリ起動」→ そのアプリを「手動で管理」にし、3つのトグルをすべて有効にします。
よくできたアラームアプリは代わりに何をするか
ここまでの内容はすべて、自分のプロセス内にスケジュールを抱え込むアプリのための回避策です。システムのアラームマネージャーにアラームを登録し、鳴るときにフォアグラウンドサービスを立てるアプリは、バックグラウンドで生き続けることに依存しないので、この種の失敗のほとんどが消えます。
Android 版の Roosta はそのように作られています。それでも上の設定は適用しておく価値があります。メーカー独自 UI の挙動は読めませんが、それが起きられるかどうかの分かれ目になってはいけません。
この点で Android が iPhone と違う理由
Android は iOS よりはるかに強くアプリのバックグラウンド動作を止めますし、リリースを重ねるごとに強くなってきました。Doze モードは、端末がしばらく動かず使われていないとバックグラウンドの処理を停止します。App Standby Bucket は最近開いていないアプリの優先度を下げ、何かをする機会を段階的に減らしていきます。
どちらの仕組みにも正当な理由がありますし、Android 端末が引き出しの中で1週間過ごしても電池が残っているのはそのおかげです。同時にそれは、自分でスケジュールを抱えるアラームアプリが最初の2週間は完璧に動き、その後こっそり動かなくなる理由でもあります。しかもたいていは、数日開いていなかった週末に起こります。
Android には、こうしたすべての対象外となるアラーム専用の仕組みが用意されています。それを使うアプリは Doze の影響を受けず、使わないアプリはそのなすがままです。
対処2:メーカー独自の電池管理
素の Android の電池最適化は話の半分にすぎません。ほとんどのメーカーはその上にもっと強力な独自のアプリキラーを重ねており、標準の Android の電池画面には現れない専用の設定を持っています。これが Android でアラームを逃す最大の原因であり、しかもブランドごとに違います。
- 1Samsung:設定 →「バッテリーとデバイスケア」→「バッテリー」→「バックグラウンド使用制限」。アラームアプリが「スリープ中のアプリ」「ディープスリープ中のアプリ」に入っていないことを確認し、「未使用のアプリをスリープ状態にする」をオフにします。
- 2Xiaomi・Redmi・POCO:設定 →「アプリ」を開いてアラームアプリを探し、「自動起動」をオン、「バッテリーセーバー」を「制限なし」にします。そのうえで最近のアプリ画面を開き、消されないようにアプリをロックします。
- 3Huawei・Honor:設定 →「バッテリー」→「アプリ起動」。そのアプリを「自動的に管理」から「手動で管理」に切り替え、「バックグラウンドで実行」を含む3つのトグルをすべて有効にします。
- 4Oppo・Realme・OnePlus:設定 →「バッテリー」で、そのアプリを「バックグラウンド動作を許可」または「最適化しない」に設定し、「起動マネージャー」や自動起動の一覧も確認します。
- 5Vivo:設定 →「バッテリー」→「バックグラウンド消費電力の管理」で、そのアプリに高いバックグラウンド消費を許可します。
対処3:「アラームとリマインダー」の権限
Android 12 以降、正確な時刻にアラームを設定するには専用の権限が必要です。多くのアラームアプリには自動的に付与されますが、取り消すこともでき、取り消されたアプリはおおよその時刻しか要求できなくなります。おおよそのアラームは数分ずれることがあり、それは「使えるアラーム」と「電車が出たあとに鳴るアラーム」の差です。
- 1設定を開き、「アプリ」から対象のアラームアプリを選びます。
- 2「アラームとリマインダー」を探します。メーカーによって「特別なアプリアクセス」や「その他の権限」の下にあることがあります。
- 3許可されていることを確認します。その項目自体が見当たらないなら、お使いの Android のバージョンでは制限されておらず、変更するものはありません。
対処4:サイレント モードとアラーム音量のスライダー
Android はアラームに専用の音声ストリームと専用の音量スライダーを与えており、着信音量やメディア音量とは別です。音楽は最大音量なのにアラームはゼロ、という状態に気づかないまま陥ることがありえます。
サイレント モードは初期状態でアラームを許可しますが、iOS と違ってこれはオフにできる例外です。過去に独自のサイレント モードのスケジュールを作ったことがあるなら、全体の設定だけでなくそのスケジュール自身の例外一覧も確認してください。
- 1設定 →「音とバイブレーション」で、「アラーム」の音量スライダーだけを確認します。
- 2設定 →「通知」→「サイレント モード」で、アラームが許可された割り込みになっていることを確認します。
- 3就寝時のルーティンやスリープのルーティンを使っているなら、それを開いて例外も確認してください。ルーティンは独自のサイレント モードのルールを適用できます。
対処5:アプリが実際に何をしているかを確かめる
ここまでをすべて適用してもアラームが不定期に失敗するなら、問題は端末ではなくアプリである可能性が高いです。何日か使わなかったあとに起こる不定期の失敗は、アプリが自分でスケジュールを抱えていて、停止させられていることの典型的な兆候です。
Roosta はアラームを保存したその瞬間に、Doze の対象外となる仕組みを使って Android のアラームサービスへスケジュールを引き渡します。だからアプリをスワイプで消してもアラームは取り消されませんし、何日も放置されていた端末でもちゃんと鳴ります。上のメーカー設定は依然として適用しておく価値がありますが――メーカー独自 UI の挙動は読めないので――それが起きられるかどうかの分かれ目になってはいけません。
正しい試し方
アプリを開いたまま2分後のアラームで試しても、ほとんど何も証明できません。追いかけている失敗は、端末がしばらく放置されたあとにしか現れないからです。本当の検証には一晩かかります。
- 1上のバッテリー設定を適用し、そのあとはアプリを二度と開かないでください。
- 2翌朝のアラームを設定し、端末を充電器から外し、画面を消し、一晩触らずに置いてください。Doze は静止していないと働かないので、充電中で触られている端末では公平な検証になりません。
- 3一晩放置したあとで鳴るなら、これからも鳴り続けます。鳴らないなら、そのアプリは自分でスケジュールを抱えており、どれだけバッテリー設定を詰めても完全には直りません。

