[英]Android AlarmManager starts ringing on wrong time
我正在嘗試創建一個警報應用程序。 我正在使用時間選擇器從用戶那里獲取鬧鍾時間設置
我研究了以下評論,但找不到解決方案:
當我將鬧鍾時間設置在當前時間之前時,它會立即響起。 但是,如果鬧鍾時間設置在當前時間之后,則可以正常工作。
以下是我的代碼...
calendar.set(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
timePicker.getHour(),
timePicker.getMinute(),
0
);
AlarmManager alarmManager= (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent=new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,0,intent,0);
alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);
如果用戶在當前時間之后設置鬧鍾,則可以正常工作。 但是,如果時間設置在當前時間之前(下一天),則響鈴會立即開始。
請幫我解決這個問題。 提前致謝!
來自 AlarmManager 文檔
如果規定的觸發時間已經過去,則立即觸發警報。
您的日歷設置為當天,因此當時間設置為當前時間之前時,鬧鍾會立即響起。 使用未來日期時,獲取該日期和時間的日歷,然后設置鬧鍾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.