2012-03-25 3 views
1

안녕하세요 저는 Android에서 생일 알림 앱을 구현하고 있습니다. 캘린더에 알림을 설정하는 절차는 무엇입니까? 나는 안드로이드에서 달력을 얻었습니다.캘린더에 알림을 추가하는 방법

+0

jayesh, ContentProvider에 미리 알림 삽입시 'content : // calendar/reminders'uri를 사용 하시겠습니까? –

+0

문제가 해결 되었습니까? –

답변

1

Android 캘린더에서 일정을 추가하는 데 사용할 수 있습니다.

GregorianCalendar startDate = new GregorianCalendar(Locale.ENGLISH); 
      startDate = CustomDateFormatter.formatScheduleDate(schedule.getScheduleStartDate()); 

      GregorianCalendar endDate = new GregorianCalendar(Locale.ENGLISH); 
      endDate = CustomDateFormatter.formatScheduleDate(schedule.getScheduleEndDate()); 

      try{ 

       String[] projection = new String[] { "_id", "name" }; 
       Uri calendars = Uri.parse("content://com.android.calendar/calendars"); 
       Cursor managedCursor = mContext.getContentResolver().query(calendars, projection, "selected=1", null, null); 
       ContentValues event = new ContentValues(); 

       long StartTime = startDate.getTimeInMillis(); 
       long EndTime = endDate.getTimeInMillis(); 
//    int nameColumn = managedCursor.getColumnIndex("name"); 
       int idColumn = managedCursor.getColumnIndex("_id"); 

       if(managedCursor.moveToFirst()){ 

//     String calName = managedCursor.getString(nameColumn); 
        String calId = managedCursor.getString(idColumn); 

//     Log.e("Cal name", calName); 

        event.put("calendar_id", calId); 
        event.put("title", schedule.getScheduleType()); 
        event.put("description", schedule.getScheduleTextContent()); 
        event.put("dtstart", StartTime); 
        event.put("dtend", EndTime); 
        event.put("hasAlarm", 1); 

        Uri eventsUri = Uri.parse("content://com.android.calendar/events"); 
        Uri calUri = mContext.getContentResolver().insert(eventsUri, event); 

        Uri remindersUri = Uri.parse("content://com.android.calendar/reminders"); 
        event = new ContentValues(); 
        event.put("event_id", Long.parseLong(calUri.getLastPathSegment())); 
//     Log.d("Event ID: ", calUri.getLastPathSegment()); 

        event.put("method",1); 
        event.put("minutes",0); 

        mContext.getContentResolver().insert(remindersUri, event); 
       } 

       managedCursor.close(); 

      }catch(Exception ex){ 
       ex.printStackTrace(); 
      } 
+0

오크 감사합니다. :) –

+0

문제가 있으면 저에게 연락하십시오. – Radu

관련 문제