LoginSignup
1
0

AlarmClockクラスのリファレンスがぺらぺらすぎるので補いたい

Posted at

AlarmClockクラスはAndroidアプリケーションでアラームをセットするための便利なクラスです。特に、アラームを解除する際に使用するACTION_DISMISS_ALARMアクションについて、具体的な実装例をご紹介します。

以下は、指定されたラベルに基づいてアラームを解除するKotlinの関数です。

/**
 * 指定されたラベルのアラームを解除します。
 *
 * @param context コンテキスト
 * @param label アラームのラベル
 */
fun dismissAlarmByLabel(context: Context, label: String) {
    val intent = Intent(AlarmClock.ACTION_DISMISS_ALARM).apply {
        setPackage(alarmPackageName) // アラームアプリのパッケージ名を指定
        putExtra(AlarmClock.EXTRA_ALARM_SEARCH_MODE, AlarmClock.ALARM_SEARCH_MODE_LABEL) // 完全一致検索モードしか選べない
        putExtra(AlarmClock.EXTRA_MESSAGE, label) // アラーム検索に使用するフレーズを指定
        putExtra(AlarmClock.EXTRA_SKIP_UI, true) // UIをスキップするオプションを指定
    }
    context.startActivity(intent)
}

この関数は、指定されたラベルのアラームを解除する際に使用できます。setPackageメソッドでアラームアプリのパッケージ名を指定し、putExtraメソッドで検索モードやラベルを設定しています。UIを表示せずにアラームを解除するために、EXTRA_SKIP_UIオプションを設定しています。

(1) AlarmClockクラスを使用してアラームをセットする | TechBooster. https://techbooster.org/android/2271/.
(2) java - Android AlarmClock search by label - Stack Overflow. https://stackoverflow.com/questions/42233249/android-alarmclock-search-by-label.
(3) AlarmClock | Android Developers. https://developer.android.com/reference/android/provider/AlarmClock.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0