次のコードを使用して、すべてのカレンダーを取得し、それぞれの最初のイベントを取得しています。
しかし、クエリを実行すると失敗します。
次の URI を使用しています:
Uri.Builder builder = Uri.parse("content://com.android.calendar/instances/when").buildUpon();
確認したところ、カレンダー ID の正しいリストを取得しました。クエリ コードは次のとおりです。
Cursor eventCursor = null;
// Create an event cursor to find all events in the calendar
try {
eventCursor = contentResolver.query(builder.new String[] { "title", "begin", "end", "allDay"}, "Calendars._id=" + 1, null, "startDay ASC, startMinute ASC");
Log.d(TAG,"Got Calendar ID = "+id);
} catch (Exception e) {
Log.d(TAG, "Didn't find calender for ID="+id);
eventCursor = null;
}
SQL から次のエラーが表示されます。illegalargumentexception invalid column begin
このエラーをグーグルで検索しましたが、何も見つかりませんでした。さらに、この種のすべてのクエリがこの正確な列を使用して成功することがわかりました。