我想在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