android开发app删除sim卡联系人

文章标签: android,android-contacts
2015-1-15 9:02:51     人阅读    


android开发app删除sim卡联系人


下面的代码是我写的在android系统中删除sim卡联系人

Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phone));
 
        Cursor cur = mContext.getContentResolver().query(contactUri, null,null, null, null);
 
        boolean flag = false;
 
        try {
 
            if (cur.moveToFirst()) {
 
                do {
 
                    if (cur.getString(cur.getColumnIndex(PhoneLookup.DISPLAY_NAME))
 
                            .equalsIgnoreCase(name)) {
 
                        String lookupKey = cur
 
                                .getString(cur.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
 
                        Uri uri = Uri.withAppendedPath(
 
                                ContactsContract.Contacts.CONTENT_LOOKUP_URI,
 
                                lookupKey);
 
                        mContext.getContentResolver().delete(uri, null, null);
 
                        flag=true;
 
                        break;
 
                    }

                } while (cur.moveToNext());
 
            }

        } catch (Exception e) {
 
            flag=false;
 
            System.out.println(e.getStackTrace());
 
        }

上面的代码运行后,联系人是删除掉了但是当我的手机重新启动后,删除的联系人又回来了,没有删除成功.....

处理方法

你需要使用  content://icc/adn/ 的URI
你必须使用名字和号码才能从联系人中删除
尝试使用下面的代码(有效)

Uri simUri = Uri.parse("content://icc/adn/");

ContentResolver mContentResolver = this.getContentResolver();

Cursor c = mContentResolver.query(simUri, null, null, null, null);

if (c.moveToFirst())
{
{
 
    do
 
    {
 
        if (/* your condition here */)
 
        {
 
            mContentResolver.delete(
 
                simUri,
 
                "tag='" + c.getString(c.getColumnIndex("name")) +
 
                "' AND " +
 
                "number='" + c.getString(c.getColumnIndex("number")) + "'"
 
                , null);
 
            break;
 
        }                       
 
    }
 
    while (c.moveToNext());
}
}

你必须要设置开发下面2个权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />


原文地址:http://www.itmmd.com/201501/494.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android Action bar 返回按钮无效   上一篇
下一篇  android SaxParser 解析url失败.android SaxParser如何解析url
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!