2011-05-23 125 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