1

프로그래밍 방식으로 미리 알림을 설정하는 애플리케이션을 개발 중입니다.Android : 이전 및 이후의 되풀이 알림

private void addReminder(int statrYear, int startMonth, int startDay, int startHour, int startMinut, String title){ 
    // Convert start of begin time of reminder in milliseconds. 
    Calendar beginTime = Calendar.getInstance(); 
    beginTime.set(statrYear, startMonth, startDay, startHour, startMinut); 
    long startMillis = beginTime.getTimeInMillis(); 

    // String to access default google calendar of device for Event setting. 
    String eventUriString = "content://com.android.calendar/events"; 

    // Creation of Event. 
    ContentValues eventValues = new ContentValues(); 
    // Set calendar as 1 for default calendar. 
    eventValues.put(Events.CALENDAR_ID, 1); 
    // Set title as user define. 
    eventValues.put(Events.TITLE, title); 
    // Set description as user define. 
    eventValues.put(Events.DESCRIPTION, "MYApp"); 
    // Set location as user define. 
    eventValues.put(Events.EVENT_TIMEZONE, "India"); 
    // Set start time as system time or time converted in milliseconds. 
    eventValues.put(Events.DTSTART, startMillis); 
    // Set status of event as 1. 
    eventValues.put("eventStatus", 1); 
    // Set visibility of event as 3 (public). 
    eventValues.put("visibility", 3); 
    // Set transparency as 0. No other app seen through reminder. 
    eventValues.put("transparency", 0); 
    // Set alarm as 1. Ringing. 
    eventValues.put(Events.HAS_ALARM, 1); 

    // Set Event in calendar. 
    Uri eventUri = getContentResolver().insert(Uri.parse(eventUriString), eventValues); 
    // Getting ID of event in Long. 
    long eventID = Long.parseLong(eventUri.getLastPathSegment()); 

    /***************** Event: Reminder(with alert) Adding reminder to event *******************/ 
    // String to access default google calendar of device for reminder setting. 
    String reminderUriString = "content://com.android.calendar/reminders";  
    ContentValues reminderValues = new ContentValues(); 

    // Set reminder on Event ID. 
    reminderValues.put("event_id", eventID); 
    // Set reminder minute before. 
    reminderValues.put("minutes", 1); 
    // Set method of reminder 
    reminderValues.put("method", 1);   

    @SuppressWarnings("unused") 
    //Setting reminder in calendar on Event. 
    Uri reminderUri = getContentResolver().insert(Uri.parse(reminderUriString), reminderValues); 
} 

을 지금 응용 프로그램이 무엇을해야된다 : 설정 알림의 코드는 다음과 같습니다

1 난 사용자가 선택한 옵션에 대한 알림을 설정하려는 의미 사용자가 선택하는 경우 언젠가 미리 알림을 설정하기 전에 미리 알림은 알림 하루 전날 사용자에게 알립니다.

2. 또한 반복 알림을 설정하려고합니다. 사용자가 선택한 날짜에 미리 알림을 표시 한 후에는 사용자가 선택한 반복에 따라 다음 번에 자동으로 알림을 설정해야합니다.

위의 코드로 미리 알림을 설정하면 장치 캘린더에 미리 알림이 표시됩니다. 미리 알림은 설정해야하지만 알람이 발생하기 전에는 장치에 표시되지 않도록해야합니다.

의견을 보내주십시오.

답변

0

귀하의 기능인 것으로 보입니다. 1. 및 2.; 보류중인 의도, 경보 관리자 및 브로드 캐스트 수신기를 사용하는 것이 좋습니다.

언제 알림을 캘린더에 표시 하시겠습니까? 그 시간 동안 을 사용하면 addReminder()를 별도로 사용합니다.

+0

자세히 설명 할 수 있습니까? –

+0

나는 당신의 기능이 무엇인지 알지 못합니다 .. 당신이 찾고있는 "알림"입니까 .. 달력에 있습니까? 아니면 사용자에게 경보입니까? 사용자가 이러한 "미리 알림"을 ​​어디에 설정하고 있습니까? 보류중인 의도 및 경보 관리자 (http://karanbalkar.com/2013/07/tutorial-41-using-alarmmanager-and-broadcastreceiver-in-android/)에 대해이 예제를 확인하십시오. 알림 관리자 대신 수신기에서 대화 상자를 호출하십시오. – user2450263