无法从SIM卡中删除联系人

时间:2014-02-18 08:46:06

标签: java android android-contacts android-contentresolver sim-card

我删除之前在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);

但结果是一样的。我做错了什么?

1 个答案:

答案 0 :(得分:1)

“name”仅用于读取查询。要删除,您必须为名称列传递“tag”。请查看此链接以了解实际实施IccProvider