无法使用内容提供商批量更新项目。抛出IllegalArgumentException

时间:2014-01-28 07:32:55

标签: android android-sqlite android-contentprovider

所以我一直在尝试通过发送一组消息ID作为选择参数来批量更新SMS。但是,它抛出了IllegalArgumentException。

以下是代码:

    ContentValues contentValues = new ContentValues(1);
    contentValues.put(SMSUtils.READ, 1);

    String selection = SMSUtils._ID + "=?";

    int mRowsUpdated = contentResolver.update(
            CONTENT_URI_SMS,
            contentValues,
            selection,
            messageIds  // array of message IDs
    );

例外

Caused by: java.lang.IllegalArgumentException: Too many bind arguments. 7 arguments were provided but the statement needs 2 arguments.

另一种方法是使用循环并按顺序更新消息,但我认为这会更慢。有什么想法吗?

0 个答案:

没有答案