0
我對日曆有點新。任何人都可以建議我如何從默認日曆(不是谷歌日曆或任何其他唯一的默認日曆)獲取活動(例如生日/會議提醒),並在我們的應用程序中將其顯示在listview
/recyclerview
?如何獲取設備日曆(默認日曆)事件並顯示在我們的應用程序中?
我對日曆有點新。任何人都可以建議我如何從默認日曆(不是谷歌日曆或任何其他唯一的默認日曆)獲取活動(例如生日/會議提醒),並在我們的應用程序中將其顯示在listview
/recyclerview
?如何獲取設備日曆(默認日曆)事件並顯示在我們的應用程序中?
這個SO question描述了讀取和寫入日曆。關鍵的信息,你需要閱讀日曆(S)爲:
Uri uri = CalendarContract.Calendars.CONTENT_URI;
String[] projection = new String[] {
CalendarContract.Calendars._ID,
CalendarContract.Calendars.ACCOUNT_NAME,
CalendarContract.Calendars.CALENDAR_DISPLAY_NAME,
CalendarContract.Calendars.NAME,
CalendarContract.Calendars.CALENDAR_COLOR
};
Cursor calendarCursor = managedQuery(uri, projection, null, null, null);
然後,你需要從遊標提取數據:
ArrayList<String> ids = new ArrayList<String>();
try {
if (cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String id= cursor.getString(0);
calendars.add(id);
}
}
} catch (AssertionError ex) { /*TODO: log exception and bail*/ }
然後你的ID和需要查詢的每一個爲事件。這在SO question的接受答案中有所描述。此github存儲庫有一個解決方案。大多數這些方法僅適用於Android版本大於4.2的版本。