我试图删除特定的联系人!我搜索了很多,但我尝试的每个代码都没有用!
public void delete(String name,String numero)
{
Cursor cur = getContentResolver().query(Contacts.CONTENT_URI,null, null, null, null);
while (cur.moveToNext())
{
try
{
String[] selectionArgs=new String[]{String.valueOf(numero)};
String lookupKey = cur.getString(cur.getColumnIndex(Contacts.LOOKUP_KEY));
Uri uri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, lookupKey);
getContentResolver().delete(uri, Phone.NUMBER +"=?", selectionArgs);
}
catch(Exception e)
{
System.out.println(e.getStackTrace());
}
}
}
我也试过这个而不是指定selectionArgs而不是
getContentResolver().delete(uri, Contacts.DISPLAY_NAME +"="+ name, null);
并尝试使用Contacts.
更改ContactsContract.Contacts.
,但没有
然后尝试使用Contact displayname而不是number来删除。
似乎选择不起作用! uri值是Uri$HierarchicalUri
这是对的吗?
问题是什么?
答案 0 :(得分:1)
更改
getContentResolver().delete(uri, Contacts.DISPLAY_NAME +"="+ name, null);
到
String[] names = {name};
getContentResolver().delete(uri, Contacts.DISPLAY_NAME +"=?", names);