Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中安排每日重复报警_Android_Alarmmanager_Android Alarms - Fatal编程技术网

在Android中安排每日重复报警

在Android中安排每日重复报警,android,alarmmanager,android-alarms,Android,Alarmmanager,Android Alarms,我想在安卓系统中安排一个每天重复的警报,我能够部分完成,警报只触发一次,永远不会每天重复,下面是我的代码片段 /* Schedule the alarm based on user preferences */ public void scheduleAlarm(Context context) { String alarmPref; manager = AlarmManagerProvider.getAlarmManager(context); String

我想在安卓系统中安排一个每天重复的警报,我能够部分完成,警报只触发一次,永远不会每天重复,下面是我的代码片段

    /* Schedule the alarm based on user preferences */
public void scheduleAlarm(Context context) {
    String alarmPref;

    manager = AlarmManagerProvider.getAlarmManager(context);

    String keyReminder = context.getString(R.string.pref_key_reminder);
    String keyAlarm = context.getString(R.string.pref_key_alarm);
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

    boolean enabled = preferences.getBoolean(keyReminder, false);

    //Intent to trigger
    Intent intent = new Intent(context, ReminderService.class);
    operation = PendingIntent
            .getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);


    if (enabled) {
        Calendar calendar = Calendar.getInstance();

        alarmPref = preferences.getString(keyAlarm, "12:00");

        calendar.setTimeInMillis(System.currentTimeMillis());

        String[] str = alarmPref.split(":");
        int hourDay = Integer.parseInt(str[0]);
        int minute = Integer.parseInt(str[1]);

        calendar.set(Calendar.HOUR_OF_DAY, hourDay);
        calendar.set(Calendar.MINUTE, minute);

        if (Calendar.getInstance().after(calendar)) {
            calendar.add(Calendar.DATE, 1);
        }

        Log.d(TAG, "Scheduling quiz reminder alarm" + hourDay);
        Log.d(TAG, "Scheduling quiz reminder alarm" + minute);

        manager.setInexactRepeating(AlarmManager.RTC_WAKEUP,
                calendar.getTimeInMillis(), 24 * 60 * 60 * 1000, operation);
    } else {
        Log.d(TAG, "Disabling quiz reminder alarm");
        manager.cancel(operation);
    }
}
我想让此警报接收器在选定的日期每天重复。目前,它只工作一次,从不在每天的确切日期重复