2016-01-27 3 views
0

Я пытаюсь получить события календаря, я использовал код ниже,Календарь событий - пользовательские фильтры, созданные события - Android

public static ArrayList<CalendarEvents>calendarEvents; 
calendarEvents = new ArrayList<CalendarEvents>(); 

String[] projection = new String[] { "calendar_id", "title", "description","dtstart", "dtend","organizer", "eventLocation"}; 
Cursor cursor = context.getContentResolver() 
       .query(
         Uri.parse("content://com.android.calendar/events"),projection 
         , null, 
         null, null); 

В результате получают все evnets, включая дни рождения, hloydays и т.д ... Я хочу фильтровать созданные пользователем события.

ответ

1

Чтобы отфильтровать ваши события. У вас должно быть какое-то уникальное ограничение. Скажем в моем случае, мой заголовок содержит несколько значительных писем. Поэтому я сравнил его по названию. Вы также можете сравнить: Events.EVENT_COLOR

Uri eventUri = Events.CONTENT_URI; 
    int result = 0; 
    String projection[] = {Events._ID, Events.TITLE}; 
    Cursor cursor = mContext.getApplicationContext() 
      .getContentResolver().query(eventUri, 
        projection, 
        Events.TITLE + " = ? ", 
        new String[]{title}, 
        null); 
+0

Я новичок в Android dvelopem Я не хочу всех событий календаря. Нуждались только созданные пользователем события. Там есть способ получить это. –

+0

Да. Вы можете добавить свой фильтр так, как я предложил. 'Events.TITLE +" =? "' И применяя значение 'new String [] {title}'. Здесь вы можете добавить столько, сколько фильтров. Вы можете обратиться к http://stackoverflow.com/a/2158589/3817374, чтобы проверить, как можно добавлять фильтры – Beena

Смежные вопросы