2013-02-26 5 views
1

응용 프로그램을 개발 중입니다. 어느 장치 캘린더에서 미리 알림을 설정합니다. for() 루프에서 addReminder 메서드를 호출하여 응용 프로그램에 여러 미리 알림을 설정하고 있습니다. 미리 알림을 설정하는 코드는 다음과 같습니다. 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); 
} 

그리고 위의 방법을 호출 for 루프는 다음과 같습니다

이제
for(int i=0; i<numberOfReminder; i++){ 
    addReminder(statrYear, startMonth, startDay, startHour, startMinut, title); 
} 

내 필요가 :

내가 일정 한 미리 알림을 설정하는 시간을 계산하려면 초. 모든 미리 알림을 설정하는 데 필요한 총 시간은 런타임에 미리 알림의 총 수입니다.

그럼 알림의 설정 시간을 초 단위 또는 밀리 초 단위로 계산하려면 어떻게해야합니까?

+0

당신은 지정된 시간에 시작하도록 타이머를 설정하려는, 또는 알림 시작 전까지가 얼마나 많은 시간을 계산하려면? 미리 알림을 설정하려면 캘린더 오른쪽에서 미리 알림을 가져 오는 중입니까? 다음 당신은 년, 달 및 일이있다. 그런 다음 시간과 분을 설정합니다. 그게 나야 아니면 질문이 불분명 한가? – g00dy

+0

응용 프로그램이 하나의 미리 알림 및 미리 알림 수를 설정하는 데 걸리는 시간을 50 또는 100 미리 알림과 같이 계산해야합니다. –

답변

0

이에 몇 가지 솔루션이 있습니다

  1. 사용 Log 정보를 제공합니다.
  2. 이런 시간을 측정 :

    긴 개시에 System.currentTimeMillis =();

    미리 알림 설정

    긴 단부에 System.currentTimeMillis =(); // 또는 start = start - System.currentTimeMillis();

    그러면 끝이 시작됩니다. * 이것은 밀리 초 단위이므로 초를 계산하려면 1000으로 나눌 필요가 있습니다.

건배