我在阅读有关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)
答案 0 :(得分: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。