1

このコードには奇妙な問題があります。

private static final String[] CALENDARS_PROPS_PROJECTION = { Calendars._ID, Calendars.NAME, Calendars.CALENDAR_DISPLAY_NAME, Calendars.CALENDAR_TIME_ZONE, Calendars.DELETED };

protected Uri getURI() {
     return CalendarContract.Calendars.CONTENT_URI
            .buildUpon().appendQueryParameter(android.provider.CalendarContract.CALLER_IS_SYNCADAPTER,   "true")
            .appendQueryParameter(Calendars.ACCOUNT_NAME, account.name)
            .appendQueryParameter(Calendars.ACCOUNT_TYPE, account.type)
            .build();
}

ContentResolver cr = ...
Cursor cur = cr.query(getURI(), CALENDARS_PROPS_PROJECTION, Calendars.DELETED + "=?", new String[] { "0" }, null);

このコードは数か月間機能し、デバイスに存在するすべてのカレンダーを列挙できましたが、突然getCount() が 0 を返すカーソルを返し始めました。

すべてのカレンダーとイベントは、以前と同様に S Planner アプリケーションを介して表示されます。

何か案は?

4

1 に答える 1

0

解決策は簡単でした:削除

.appendQueryParameter(Calendars.ACCOUNT_NAME, account.name)
.appendQueryParameter(Calendars.ACCOUNT_TYPE, account.type)
于 2013-11-04T09:59:49.427 に答える