1

我在 HTC EVO 4G LTE (Android 4.0.3) 上阅读提醒时遇到问题。代码:

1 | Uri uri = CalendarContract.Reminders.CONTENT_URI;
2 | Cursor c = cr.query(uri, null, null, null, CalendarContract.Reminders._ID + " ASC");

Stack trace:
at android.os.Parcel.readException(Parcel.java:1338)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:182)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:136)
    at android.content.ContentProviderProxy.query(ContentProviderNative.java:406)
    at android.content.ContentResolver.query(ContentResolver.java:315)
    at bla.bla.SomeClass.somefunction(SomeClass.java:2)
4

1 回答 1

2

我测试了您的代码并在 m AT&T HTC One X 上遇到了同样的错误。但是,添加投影参数解决了这个问题。所以这有效:

    final String[] columnsToReturn = new String[] {
            CalendarContract.Reminders.EVENT_ID
        };
    final Cursor c = cr.query(uri, columnsToReturn, null, null, BaseColumns._ID + " ASC");

projection 参数列出了您希望为游标返回的每个结果返回哪些数据列。所以这就是说为每个返回的提醒返回事件 ID。

于 2012-08-17T04:31:57.430 回答