我删除之前在SIM卡上创建的联系人时遇到问题。
首先,我正在检查DB中存储的值是什么:
private static final Uri URI_ICC_ADN = Uri.parse("content://icc/adn/");
private ContentResolver mContentResolver = this.getContentResolver();
Cursor c = mContentResolver.query(URI_ICC_ADN, null, null, null, null);
c.moveToFirst();
while(c.moveToNext()) {
Log.i(LOG_TAG, "name = " + c.getString(c.getColumnIndex("name")));
}
这为我提供了这些日志:
name = 1
name = 2
name = 3
name = 1
name = 2
name = 5
// etc
这意味着DB中存在name = 1
的记录。现在我正在尝试使用以下代码删除这些记录:
int rowsDeleted = mContentResolver.delete(URI_ICC_ADN, "name=?", new String[] { "1" });
但遗憾的是,这些行未被移除 - rowsDeleted
等于0
。我也试过这个:
int rowsDeleted = mContentResolver.delete(URI_ICC_ADN, "name=1", null);
但结果是一样的。我做错了什么?