如何设置第二天或两天后的闹钟

时间:2018-09-05 08:26:31

标签: android

假设今天是星期三,现在我想在星期四或星期五(上午8点)设置闹钟。我已经尝试了很多方法,但是没有触发警报,这是代码github-:https://github.com/JaberAhamed/alarmClock

 Calendar calSet = Calendar.getInstance();
    Calendar  now=Calendar.getInstance();
    calSet.set(Calendar.DAY_OF_WEEK,week);
    calSet.set(Calendar.HOUR_OF_DAY, hour);
    calSet.set(Calendar.MINUTE, minuts);
    calSet.set(Calendar.AM_PM, formate);
    calSet.set(Calendar.SECOND, 0);

    if (calSet.before(now)){
        Toast.makeText(context, "before ", Toast.LENGTH_SHORT).show();
        calSet.add(Calendar.DAY_OF_WEEK,1);
    }

    alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
    Intent intent = new Intent(context, AlarmReceiver.class);
    int pos = position+ week;
    intent.putExtra("extra", "yes");
    pendingIntent = PendingIntent.getBroadcast(context, pos, intent, PendingIntent.FLAG_CANCEL_CURRENT);
    alarmManager.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(), pendingIntent);  

1 个答案:

答案 0 :(得分:0)

根据我的研究,您可以将AlarmManager与Calendar一起使用,它将解决您的问题。

首先,您需要检测一周中的当前日期并将其计数1或2天,然后设置为闹钟

Calendar calendar = Calendar.getInstance();
int currentDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)
calendar.setTimeInMillis(System.currentTimeMillis());
calSet.set(Calendar.DAY_OF_WEEK, currentDayOfWeek + 2);
calSet.set(Calendar.HOUR_OF_DAY, 8);
calSet.set(Calendar.MINUTE, 0);

希望它可以为您提供帮助!

如果我有任何错误请联系我!

相关问题