Calendar.getTimeInMillis()不断导致应用程序崩溃



我一直试图创建一个每早上8:30启动一次的闹钟,但我的应用程序一直在崩溃logcat一直显示这个错误尝试在null对象引用上调用虚拟方法"long java.util.Calendar.getTimeInMillis((">

我甚至检查了android文档,它们的代码是相同的。请帮助

class MotivationViewModel(application: Application) : AndroidViewModel(application) { 
private var alarmManager: AlarmManager? = null
private var notifyPendingIntent: PendingIntent

init {

alarmManager = application.getSystemService(Context.ALARM_SERVICE) as AlarmManager
notifyPendingIntent = Intent(application, AlarmReceiver::class.java).let { intent ->
PendingIntent.getBroadcast(application, 0, intent, 0)
}
//start alarm
startAlarm()
}

// Set the alarm to start at approximately 8:30 p.m.
private val calendar: Calendar = Calendar.getInstance().apply {
timeInMillis
set(Calendar.HOUR_OF_DAY, 1)
set(Calendar.MINUTE, 44)
set(Calendar.SECOND, 0)
}

val triggerTime = SystemClock.elapsedRealtime() + 1_000L * 10

private fun startAlarm() {
if (alarmManager != null) {
alarmManager?.setInexactRepeating(
AlarmManager.RTC_WAKEUP,
AlarmManager.INTERVAL_DAY,
calendar.timeInMillis,
notifyPendingIntent
)
}
}
}

这是我的完整视图型号代码

SlothCoding的帮助下进行一点校正

我只是在init块上移动日历。

最新更新