必須的權限:
< uses-permission android:name=”com.android.alarm.permission.SET_ALARM” />
private void createAlarm(String message, int hour, int minutes, int resId) {
ArrayList<Integer> testDays = new ArrayList<>();
testDays.add(Calendar.MONDAY);//週一
testDays.add(Calendar.TUESDAY);//週二
testDays.add(Calendar.FRIDAY);//週五
String packageName = getApplication().getPackageName();
Uri ringtoneUri = Uri.parse("android.resource://" + packageName + "/" + resId);
Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM)
//鬧鐘的小時
.putExtra(AlarmClock.EXTRA_HOUR, hour)
//鬧鐘的分鐘
.putExtra(AlarmClock.EXTRA_MINUTES, minutes)
//響鈴時提示的信息
.putExtra(AlarmClock.EXTRA_MESSAGE, message)
//用於指定該鬧鈴觸發時是否振動
.putExtra(AlarmClock.EXTRA_VIBRATE, true)
//一個 content: URI,用於指定鬧鈴使用的鈴聲,也可指定 VALUE_RINGTONE_SILENT 以不使用鈴聲。
//如需使用默認鈴聲,則無需指定此 extra。
.putExtra(AlarmClock.EXTRA_RINGTONE, ringtoneUri)
//對於一次性鬧鈴,無需指定此 extra
.putExtra(AlarmClock.EXTRA_DAYS, testDays)
//如果爲true,則調用startActivity()不會進入手機的鬧鐘設置界面
.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}