2013-04-25 37 views
0

我试图从我的应用程序(ICS及以上版本)读取本机日历事件,但有时它有效,有时会显示一些不正确的值。目前,我正在使用这块代码任何人都可以请告诉我我要去哪里错..如何从本机日历中读取特定日期的事件

Uri.Builder builder = Uri.parse("content://com.android.calendar/instances/when").buildUpon(); 
    long now = new Date().getTime(); 
    ContentUris.appendId(builder, now); 
    ContentUris.appendId(builder, now + DateUtils.YEAR_IN_MILLIS); 





    Cursor eventCursorr = cr.query(builder.build(), 
      new String[] { "title", "begin","description"}, "Calendars._id=" + calID, 
      null, "startDay ASC, startMinute ASC"); 

    while (eventCursorr.moveToNext()) { 
     final String titler = eventCursorr.getString(0).trim(); 
     final Date beginr = new Date(eventCursorr.getLong(1)); 
     final String descriptionr = eventCursorr.getString(2).trim(); 



     SimpleDateFormat sdfrr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

     String stimesr = sdfrr.format(beginr); 


System.out.println("titler "+titler +"stimesr "+stimesr +"descriptionr "+descriptionr); 






    } 





} 
+0

我解决了它们家伙 – 2013-04-26 06:34:21

回答

0

我解决了它们。

//StartTime 
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yy"); 
Date dateCC = formatter.parse("04/27/2013"); 
Calendar calendarStartDate = Calendar.getInstance(); 
calendar.setTime(dateCC); 

//EndTime 
SimpleDateFormat formatterr = new SimpleDateFormat("MM/dd/yy hh:mm:ss"); 

Calendar endOfDay = Calendar.getInstance(); 
Date dateCCC = formatterr.parse("04/27/2013 23:59:59"); 
endOfDay.setTime(dateCCC); 

Cursor eventCursorr = cr.query(l_eventUri, 
    new String[] { 
    "title", "dtstart", "dtend" 
}, "(" + dtstart + ">" + after + " and " + dtend + "<" + endOfDay.getTimeInMillis() + ")", 
    null, "dtstart ASC"); 

while (eventCursorr.moveToNext()) { 
    final String titler = eventCursorr.getString(0).trim(); 
    final Date beginr = new Date(eventCursorr.getLong(1)); 
    final String descriptionr = eventCursorr.getString(2).trim(); 

} 
+0

你是否准确的提出了这个问题? – Deepak 2013-11-13 08:39:27

+0

是的@deepak你得到任何错误? – 2013-11-13 08:47:46

+0

只是通过1周的日期,例如,2013年11月13日在dateCC和20/13/2013在dateCCC中设置,你应该得到所有的事件。 – 2013-11-13 09:05:28

相关问题