【发布时间】:2014-06-09 14:42:29
【问题描述】:
我正在尝试删除特定联系人!我搜索了很多,但我尝试的每个代码都不起作用!
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. 但没有
并尝试使用联系人显示名称而不是号码进行删除。
看来选择不起作用! uri 值是Uri$HierarchicalUri 对吗?
有什么问题?
【问题讨论】:
-
您是否设置了正确的权限?
-
是的,但是现在所有的联系人都会被删除,而我只想删除那个号码的联系人
-
我有类似的问题,但不是联系人...尝试将值设置在引号中,例如
+ " = '" + name"'"(单引号')
标签: android uri contacts android-contentresolver