Java 如何使用SetExactAndAllowHileId重复报警

Java 如何使用SetExactAndAllowHileId重复报警,java,android,android-studio,Java,Android,Android Studio,我想用setExactAndAllowileIdle在特定时间设置Alaram,我也想重复,但找不到如何重复。有没有有效的解决方案 Java 私有void setAlaramforchanging(){ alarmManager = (AlarmManager) requireContext().getSystemService(ALARM_SERVICE); Intent intent = new Intent(requireContext(), reminderbroadca

我想用setExactAndAllowileIdle在特定时间设置Alaram,我也想重复,但找不到如何重复。有没有有效的解决方案

Java

私有void setAlaramforchanging(){

    alarmManager = (AlarmManager) requireContext().getSystemService(ALARM_SERVICE);
    Intent intent = new Intent(requireContext(), reminderbroadcast.class);
    p = PendingIntent.getBroadcast(requireContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

    int wakeminute = preferenceHelper.GetPreferences2("wakeminute");
    int wakehour = preferenceHelper.GetPreferences2("wakehour");

    calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, wakehour);
    calendar.set(Calendar.MINUTE, wakeminute);
    long every = 24 * 3600000;
    int repeatSeconds = 10;

    if (Build.VERSION.SDK_INT < 23) {
        if (Build.VERSION.SDK_INT >= 19) {
            if (System.currentTimeMillis() < calendar.getTimeInMillis())
                alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), p);
        } else {
            if (System.currentTimeMillis() < calendar.getTimeInMillis())
                alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), p);
        }
    } else {
        if (System.currentTimeMillis() < calendar.getTimeInMillis())
            alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), p);
    }
}
PreferenceHelper preferenceHelper;
AlarmManager alarmManager;
Calendar calendar;
int repeat = 60;

@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onReceive(Context context, Intent intent) {
    preferenceHelper = new PreferenceHelper(context);
    preferenceHelper.SavePreferences2("watertakeninitial", 0);
    preferenceHelper.SavePreferences2("progressbar", 0);
    Toast.makeText(context, "i am showing this notification", Toast.LENGTH_LONG).show();
}