2014-06-09 45 views
3

我試圖刪除特定的聯繫人!我搜索了很多,但我嘗試的每個代碼都不起作用!getContentResolver()。delete不起作用

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是這樣嗎?

這是什麼問題?

+0

是否設置正確的權限? –

+0

是的,但現在所有的聯繫人將被刪除,而我只想刪除與該號碼的聯繫人 – dadrm33

+0

我有一個類似的問題,但沒有與聯繫人...嘗試將值設置爲引號,例如, '+「='」+ name''「'(單引號) –

回答

0

變化

getContentResolver().delete(uri, Contacts.DISPLAY_NAME +"="+ name, null); 

String[] names = {name}; 
getContentResolver().delete(uri, Contacts.DISPLAY_NAME +"=?", names); 
+0

仍然不行!我嘗試使用Phone.NUMBER而不是顯示名稱,但不工作!它繼續刪除所有聯繫人 – dadrm33

相關問題