ContentResolver.query() method throws "Invalid token limit" error

1,740 views
Skip to first unread message

HB

unread,
Feb 22, 2021, 7:03:59 PM2/22/21
to android-platform
The following error occurs on Pixel devices with build number RQ1A.201205.003 or later.  
I would like to know the cause of the error and how to deal with it.  
Is this a bug or a spec change?

■code
```
      ContentResolver resolver = getContentResolver();
      String order = "date ASC limit 100";
      Cursor cursor = resolver.query(
          CallLog.Calls.CONTENT_URI,
          null,
          null,
          null,
          order);
```

■error
```
"Invalid token limit,LINE:142,Method:readExceptionFromParcel Exception:Invalid token limit"
```

■Build number where the error occurs
```
・RQ1A.201205.003
・RQ1A.201205.008
・RQ1A.201205.011

・RQ1A.210105.002
・RQ1A.210105.003

・RQ1A.210205.004
```

■If you replace it with the following code, no error will occur.
```
buildUpon().appendQueryParameter("limit", "100")
```

HB

unread,
Feb 26, 2021, 12:01:54 PM2/26/21
to android-platform
■Additional Information
When implemented using the official documentation method, no error occurred, but the `LIMIT` clause did not work (all records were retrieved).


```
 // Request 20 records starting at row index 30.
 Bundle queryArgs = new Bundle();
 queryArgs.putInt(ContentResolver.QUERY_ARG_OFFSET, 30);
 queryArgs.putInt(ContentResolver.QUERY_ARG_LIMIT, 20);
 
 Cursor cursor = getContentResolver().query(
       contentUri,    // Content Uri is specific to individual content providers.
       projection,    // String[] describing which columns to return.
       queryArgs,     // Query arguments.
       null);         // Cancellation signal.
```
2021年2月23日火曜日 9:03:59 UTC+9 HB:
Reply all
Reply to author
Forward
0 new messages