如何设置30天的重复报警,直到android最新os版本(29)兼容?

如何设置30天的重复报警,直到android最新os版本(29)兼容?,android,alarm,repeatingalarm,Android,Alarm,Repeatingalarm,我需要为用户设置警报,提醒他们服用药物。 警报有时会触发,有时不会 一旦应用程序重新启动,在启动接收器上,我将再次重置警报。即使它没有触发 AlarmManager manager = AlarmManagerProvider.getAlarmManager(context); int uniqueId = CommonUtils.generateRandomID(); Intent intent = new Intent(context, PrescriptionAl

我需要为用户设置警报,提醒他们服用药物。 警报有时会触发,有时不会

一旦应用程序重新启动,在启动接收器上,我将再次重置警报。即使它没有触发

     AlarmManager manager = AlarmManagerProvider.getAlarmManager(context);
    int uniqueId = CommonUtils.generateRandomID();
    Intent intent = new Intent(context, PrescriptionAlarmActivity.class);
    Cursor cursor = null;
    if (reminderTask != null) {
        cursor = context.getContentResolver().query(reminderTask, null, null, null, null);
    }
    String description = "";
    try {
        if (cursor != null && cursor.moveToFirst()) {
            description = AlarmReminderContract.getColumnString(cursor, AlarmReminderContract.AlarmReminderEntry.KEY_TITLE);

        }
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
    intent.putExtra("medicineName", description);
    PendingIntent operation = PendingIntent.getActivity(context, uniqueId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    //manager.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, RepeatTime, operation);

    try {
        manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, alarmTime, RepeatTime,
                operation);
    } catch (Exception e) {
        e.printStackTrace();
    }

对于第一天,警报触发,第二天它不工作。

您可以使用WorkManager并设置PeriodicWorkRequest,这里有一些关于它的好文章您可以使用WorkManager并设置PeriodicWorkRequest,这里有一些关于它的好文章