我正在构建一个警报应用程序。为此,我需要提供一个时间作为输入。我正在尝试关注代码但警报没有触发。我在网上搜索并修改了很多代码,但仍然没有运气。
有人能帮助我吗?提前谢谢。
Intent intent = new Intent(NapAppActivity.this, OnetimeAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(NapAppActivity.this, 1, intent, 0);
Calendar cur_cal = new GregorianCalendar();
cur_cal.setTimeInMillis(System.currentTimeMillis());
Calendar cal = new GregorianCalendar();
cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
cal.set(Calendar.HOUR_OF_DAY, 12);
cal.set(Calendar.MINUTE, 17);
cal.set(Calendar.SECOND, cur_cal.get(Calendar.SECOND));
cal.set(Calendar.MILLISECOND, cur_cal.get(Calendar.MILLISECOND));
cal.set(Calendar.DATE, cur_cal.get(Calendar.DATE));
cal.set(Calendar.MONTH, cur_cal.get(Calendar.MONTH));
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
答案 0 :(得分:2)
我认为您应该使用cal=Calendar.getInstance()
来获取当前日期/时间,而不是使用GregorianCalendar构造函数。
然后,只需设置HourOfDay和Minutes,不要触摸其他字段。
答案 1 :(得分:2)
<receiver android:name=".OnetimeAlarmReceiver" android:process=":remote" />
你有没有在你的清单中宣布接收者。
也在收件人姓名前面加上完整的包裹声明。如果您的Receiver在另一个包中,我使用过“。”在上面的声明...
关心,
Arpit