gpt4 book ai didi

java - 如何获取设备日历(默认日历)事件并显示在我们的应用程序中?

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:05 25 4
gpt4 key购买 nike

我对日历有点陌生。有人可以建议我如何从默认日历(不是谷歌日历或任何其他默认日历)获取事件(例如生日/ session 提醒)并将其显示在我们应用程序的 listview/recyclerview 中吗?

最佳答案

这个SO question描述对日历的读取和写入。阅读日历所需的关键信息是:

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,并且需要查询每个 id 来了解事件。这在对此 SO question 的接受答案中进行了描述。 。还有这个github存储库有一个解决方案。大多数这些方法仅适用于高于 4.2 的 Android 版本。

关于java - 如何获取设备日历(默认日历)事件并显示在我们的应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42431662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com