0
다음 코드를 사용하여 Android에서 반복 알람을 설정할 수있었습니다. 그러나 문제는 즉각적인 알림을 보내고 싶지 않기 때문입니다. 나는 그저 알람을 울리 길 원하는 시간에 넣고 그 시간에 알람을 끄고 선택한 시간 간격으로 반복하기를 원할 뿐이다. RTC_WAKEUP 대신 ELAPSED_REALTIME_WAKEUP을 전환하려고 시도했지만 코드가 제대로 작동하지 않았습니다.Android AlarmManager에서 앞으로 반복되는 알람을 예약하는 방법은 무엇입니까?
public static long getTimeForNotification(int hour, int minutes, int am_pm){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, hour);
calendar.set(Calendar.MINUTE, minutes);
calendar.set(Calendar.AM_PM, am_pm);
return calendar.getTimeInMillis();
}
public static PendingIntent createNotificationPendingIntent(
String name,
String number,
String messageArrayListString,
String contactID,
String photo_uri,
String actionType,
Context mContext
){
Intent alertIntent = new Intent(mContext, AlertReceiver.class);
alertIntent.putExtra("name", name);
alertIntent.putExtra("number", number);
alertIntent.putExtra("messageList", messageArrayListString);
alertIntent.putExtra("contactID", contactID.toString());
alertIntent.putExtra("photo_uri", photo_uri);
alertIntent.setAction(actionType);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, Integer.parseInt(contactID.toString()), alertIntent, PendingIntent.FLAG_UPDATE_CURRENT);
return pendingIntent;
}
public static void createNotifications(PendingIntent notificationPendingIntent, Context mContext, Long alarmTime, int frequencyMultiplier){
AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, AlarmManager.INTERVAL_DAY * Long.valueOf(frequencyMultiplier), notificationPendingIntent);
}
미리 감사드립니다.
이 정보가 도움이 되었습니까? –