Androidデバイス内のすべてのアクティブなアラームのリストをプログラムでアプリケーションのプログラムから取得する方法はありますか?ユーザーが自分のデバイス内のすべてのアラームを表示する機能なので、デバイス内のすべてのアクティブなアラームのリストを取得します。
いいえ、AFAIKではプログラムでそれを行うことはできないため、UIでその情報をユーザーに表示することはできません。
しかし、あなた自身の参照のためにあなたは経由でアラームデータをダンプすることができます
adb Shell dumpsys alarm
そのためのroot権限は必要ありません。
しかし、上から得られるものを理解するのは非常に混乱するかもしれません。そのダンプを完全に理解するには、morphaticの回答 here を確認する必要があります。
短い答え:できません。
アラームマネージャーは、システムで現在スケジュールされているアラームを表示しません。アラームマネージャーを使用するすべてのアプリは、設定した各アラームの状態を保持する必要があります。
ただし、この質問 AlarmManagerのアクティブなPendingIntentsのリストを取得 で説明されているように、adbを介してリストを取得できます。そして、アプリcouldシステムダンプを取得し、その方法でアラームを取得しますが、ルートが必要になります。
アクティブなアラーム、つまり、デバイスの目覚まし時計アプリケーションにあるアラームを意味している場合は、できると思います。 ここ からメソッドをチェックしてみてください。
ただし、デバイスでAlarmManagerによって作成されたすべてのアラームを表示したい場合は、残念ながらプログラムで行うことはできません。
ただし、次のようなテキストファイルでダンプデータを表示できます。
adb Shell dumpsys alarm > dump.txt
スケジュールされている次のアラームを取得できます (docs)
getSystemService(AlarmManager::class.Java).nextAlarmClock.triggerTime
アラームがトリガーされる時刻を返します。この値は、ミリ秒単位のUTCウォールクロック時間です。