2012-03-25 8 views
1

こんにちは、私はアンドロイドで誕生日リマインダーアプリを実装しています。カレンダーにリマインダーを設定する手順は何ですか?私はアンドロイドでカレンダーを手に入れました。カレンダーでリマインダを追加するには

+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

okk私はそれに感謝を見るでしょう:) –

+0

何か問題がある場合は私に連絡してください。 – Radu

関連する問題