所以我一直在尝试通过发送一组消息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.
另一种方法是使用循环并按顺序更新消息,但我认为这会更慢。有什么想法吗?