2012-08-03 38 views
1

我在阅读有关HTC EVO 4G LTE(Android 4.0.3)的提醒时遇到了麻烦。代码:ContentResolver.query为HTC EVO 4G LTE引发异常

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) 

回答

2

我测试你的代码,并得到了M上同样的错误AT &牛逼的HTC One X.添加投影参数解决了这一问题,但是。所以这个工作原理:

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

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

+0

我结束了相同的代码,但我没有测试HTC EVO。现在,谢谢你,我确信我的代码可以工作。 – franza 2012-08-21 15:47:33