我一直试图创建一个每早上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块上移动日历。