我想在Android Studio中開發一個簡單的鬧鐘應用程序,但我無法正確計算如何使用AlarmManager
和BroadcastReceiver
。Android Studio鬧鐘服務未自動啓動
在我MainActivity
我已經實例化一切,我需要爲AlarmManager
(Intent
,PendingIntent
,和我使用的是日曆保持從TimePicker
接收的時間)。我有一個按鈕的onClick
事件此行
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
接收器被稱爲AlarmReceiver
並在其onReceive()
我有,就目前而言,
Toast.makeText(context, "I'm running", Toast.LENGTH_SHORT).show();
Log.e("Receiver", "Receiver entered");
出於測試目的,我設定鬧鐘時間是一個每當我調試應用程序時,從當前時間開始分鐘。設置好時間後,我按下設置AlarmManager
的按鈕。一旦時間成爲鬧鐘時間,Toast消息和日誌消息就不會自行顯示。當時間在鬧鐘時間的分鐘之內時,只有按下按鈕纔會顯示。
例如,如果鬧鐘時間是3:00,當前時間是2:59,並且我已按下按鈕以設置AlarmManager
。當它變成3:00時,消息不顯示。他們只會在3點鐘之內按下按鈕纔會顯示。
這是正常的行爲?如果是這樣,我應該如何設置它,以便一旦設置了所有信息就會自動顯示消息,以便以後可以將其擴展爲鈴聲?
我已經確保了時間值是正確的,該接收機在manifest
您是否傳遞意圖啓動服務? – Dhruv
是的,我做到了。我已經添加了一個服務來播放用於測試目的的mp3文件。問題在於,當前時間處於鬧鐘時間時,它仍未自動啓動。我必須按下按鈕 – bitscuit