0
私はカレンダーに少し新しくなりました。誰かが私たちのアプリケーションでlistview
/recyclerview
にそれを表示するデフォルトのカレンダー(Googleカレンダーまたは他の唯一のデフォルトのカレンダー)からイベント(例えば、誕生日/会議リマインダ)を取得する方法を教えてもらえますか?デバイスカレンダー(デフォルトカレンダー)イベントを取得し、アプリケーションに表示する方法は?
私はカレンダーに少し新しくなりました。誰かが私たちのアプリケーションでlistview
/recyclerview
にそれを表示するデフォルトのカレンダー(Googleカレンダーまたは他の唯一のデフォルトのカレンダー)からイベント(例えば、誕生日/会議リマインダ)を取得する方法を教えてもらえますか?デバイスカレンダー(デフォルトカレンダー)イベントを取得し、アプリケーションに表示する方法は?
この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を持っているし、それぞれを照会する必要がありますイベントのために。これはSO questionの受け入れられた答えに記述されています。また、このgithubリポジトリには解決策があります。これらのアプローチのほとんどは、Android 4.2以上のバージョンでのみ動作します。