每次按下按鈕時都會呼叫 setAlarm。每次我這樣做時,無論如何都會在 5 秒后出現“測驗”訊息。更改 .setExact() 的第二個引數似乎不會影響警報何時響起。
在 MainActivity 中設定鬧鐘方法
private fun setAlarm (cal : Calendar){
val alarmManager :AlarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
val intent = Intent (this, AlertReceiver().javaClass)
val pendingIntent : PendingIntent = PendingIntent.getBroadcast(this, 1, intent, 0)
//
alarmManager.setExact(AlarmManager.RTC_WAKEUP, 100000, pendingIntent)
}
警報接收器
class AlertReceiver: BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
Toast.makeText(context, "test", Toast.LENGTH_SHORT).show()
}
}
uj5u.com熱心網友回復:
你應該試試這個
private fun setAlarm (cal : Calendar){
val calendar = Calendar.getInstance()
calendar.apply {
set(Calendar.HOUR_OF_DAY, 6)
set(Calendar.MINUTE, 30)
set(Calendar.SECOND, 0)
}
val alarmManager :AlarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
val intent = Intent (this, AlertReceiver().javaClass)
val pendingIntent : PendingIntent = PendingIntent.getBroadcast(this, 1, intent, 0)
//
alarmManager.set( AlarmManager.RTC_WAKEUP,
calendar.timeInMillis,
pendingIntent)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/383395.html
