2011-05-23 121 views
3

我需要爲Android應用程序創建多個日曆事件,使用此question我能夠創建單個事件。Android創建日曆事件

是否有任何示例或指南來創建多個日曆事件?

謝謝你, Chandana

回答

6

的地方,這些在功能

public void calenderevent(Calendar begintime, Calendar endtime){ 

    Intent intent = new Intent(Intent.ACTION_EDIT); 
    intent.setType("vnd.android.cursor.item/event"); 
    intent.putExtra("beginTime", begintime.getTimeInMillis()); 
    intent.putExtra("allDay", true); 
    intent.putExtra("rrule", "FREQ=YEARLY"); 
    intent.putExtra("endTime", endtime.getTimeInMillis()+60*60*1000); 
    intent.putExtra("title", "A Test Event from android app"); 
    startActivity(intent); 
} 
+0

並呼叫這些功能:) – PedroAGSantos 2011-05-23 08:07:41

+3

請注意這一點。這是一個沒有記錄的意圖操作,並可能在任何時候或任何未來的Android版本中破解。它也可能會在裝有合適日曆應用程序的設備上打破,而不是安裝Android。沒有官方的方式在日曆上創建自己的活動。雖然通常這會起作用......但你已經被警告過;) – Brayden 2012-06-01 20:39:13

1
String[] calendarsProjection = { 
      CalendarContract.Calendars._ID, 
      CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, 
      CalendarContract.Calendars.ACCOUNT_NAME 
     }; 

     String calName; 
      String calId = null; 
     Uri calendars= Uri.parse("content://com.android.calendar/events"); 
      Cursor managedCursor = managedQuery(calendars, calendarsProjection, null, null, null); 
      if (managedCursor.moveToFirst()) 
      { 

       int nameColumn = managedCursor.getColumnIndex("account_name"); 
       int idColumn = managedCursor.getColumnIndex("_id"); 
       do 
       { 
        calName = managedCursor.getString(nameColumn); 
        calId = managedCursor.getString(idColumn); 
        Log.e("Calendar Id : ",""+calId+" : "+calName); 

       } 
       while (managedCursor.moveToNext()); 
      } 


     long startMillis = 0; 
     long endMillis = 0; 
     Calendar beginTime = Calendar.getInstance(); 
     beginTime.set(2012, 6, 18, 13, 10, 10); 
     startMillis = beginTime.getTimeInMillis(); 
     Calendar endTime = Calendar.getInstance(); 
     endTime.set(2012, 6, 18, 16, 10, 10); 
     endMillis = endTime.getTimeInMillis(); 
     System.out.println("Date start :"+startMillis); 
     System.out.println("Date start :"+endMillis); 

     // Insert Event 
     ContentResolver cr = getContentResolver(); 
     ContentValues values = new ContentValues(); 
     values.put(CalendarContract.Events.DTSTART, startMillis); 
     values.put(CalendarContract.Events.DTEND, endMillis); 
     values.put(CalendarContract.Events.TITLE, "Walk The Dog"); 
     values.put(CalendarContract.Events.DESCRIPTION, "My dog is bored, so we're going on a really long walk!"); 
     values.put(CalendarContract.Events.CALENDAR_ID, 1); 
     values.put(CalendarContract.Events.EVENT_TIMEZONE, "UTC"); 
     Uri uri = cr.insert(Uri.parse("content://com.android.calendar/events"), values); 
3

這是所有關於上述Android組建阿比8 ICS 15

 String[] calendarsProjection = { 
       CalendarContract.Calendars._ID, 
       CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, 
       CalendarContract.Calendars.ACCOUNT_NAME 
      }; 

     String calName; 
     String calId = null; 
     Uri calendars= Uri.parse("content://com.android.calendar/events"); 
     Cursor managedCursor = managedQuery(calendars, calendarsProjection, null, null, null); 
     if (managedCursor.moveToFirst()) 
     { 

      int nameColumn = managedCursor.getColumnIndex("account_name"); 
      int idColumn = managedCursor.getColumnIndex("_id"); 
      do 
      { 
       calName = managedCursor.getString(nameColumn); 
       calId = managedCursor.getString(idColumn); 
       Log.e("Calendar Id : ",""+calId+" : "+calName); 

      } 
      while (managedCursor.moveToNext()); 
     } 


     long startMillis = 0; 
     long endMillis = 0; 
     Calendar beginTime = Calendar.getInstance(); 
     beginTime.set(2012, 6, 18, 13, 10, 10); 
     startMillis = beginTime.getTimeInMillis(); 
     Calendar endTime = Calendar.getInstance(); 
     endTime.set(2012, 6, 18, 16, 10, 10); 
     endMillis = endTime.getTimeInMillis(); 
     System.out.println("Date start :"+startMillis); 
     System.out.println("Date start :"+endMillis); 

     // Insert Event 
     ContentResolver cr = getContentResolver(); 
     ContentValues values = new ContentValues(); 
     values.put(CalendarContract.Events.DTSTART, startMillis); 
     values.put(CalendarContract.Events.DTEND, endMillis); 
     values.put(CalendarContract.Events.TITLE, "Walk The Dog"); 
     values.put(CalendarContract.Events.DESCRIPTION, "My dog is bored, so we're going on a really long walk!"); 
     values.put(CalendarContract.Events.CALENDAR_ID, 1); 
     values.put(CalendarContract.Events.EVENT_TIMEZONE, "UTC"); 
     Uri uri = cr.insert(Uri.parse("content://com.android.calendar/events"), values); 

//

0

Well..the最後2後工作在ICS罰款而不是在別人。我建議這個類from google code

+1

鏈接被中斷:-( – Ridcully 2012-10-18 09:42:36