如何在Android 2.2中删除名为的联系人?

如何在Android 2.2中删除名为的联系人?,android,contacts,Android,Contacts,我想删除具有特殊名称的联系人 我尝试以下代码来找到我的目标: public Cursor searchByName(String name) { try { ContentResolver cr = getContentResolver(); Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);

我想删除具有特殊名称的联系人

我尝试以下代码来找到我的目标:

public Cursor searchByName(String name)
    {
        try
        {
            ContentResolver cr = getContentResolver();
            Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
            if (cur.getCount() > 0) 
            {
                while (cur.moveToNext()) 
                {
                    //String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                    String Name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                    if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) 
                    {
                        if(Name.equals(name))
                        {
                            return cur; 
                        }
                    }
                }
            }
        }
        catch (Exception e) 
        {
            Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
        }
        return null;
    }
和下面的函数将其删除:

public void removeContactByName(String name)
{
    try
    {
        Cursor cur = searchByName(name);
        if(cur!=null)
        {
            Uri uri ; // what should it be?
            getContentResolver().delete(uri,null, null);
        }
        else
        {
            Toast.makeText(getApplicationContext(), "Not Found",Toast.LENGTH_SHORT).show();
        }
    }
    catch (Exception e) 
    {
        Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
    }
} 

但是uri应该是什么呢?

您可以按姓名搜索
联系人,并获取它
\u id
,然后按
\u id
删除它