使用联络小组删除Android的问题 [英] Issue using Contact Group delete on Android

查看:121
本文介绍了使用联络小组删除Android的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个code删除联系人组

I have this code to delete a Contact Group

public void delete(Activity act,String[] args) {
        try {
            int b=act.getContentResolver().delete(ContactsContract.Groups.CONTENT_URI,"_ID=?", args);

            Toast.makeText(act, "Deleted",Toast.LENGTH_SHORT).show();


            //notify registered observers that a row was updated
            act.getContentResolver().notifyChange(ContactsContract.Groups.CONTENT_URI, null);

        } catch (Exception e) {
            Log.v(TAG, e.getMessage(), e);
            Toast.makeText(act, TAG + " Delete Failed",Toast.LENGTH_LONG).show();
        }
    }

我喜欢叫

private void processDelete(long rowId) {
        String[] args = { String.valueOf(rowId) };

        objItem.delete(this, args);
        cur.requery();
    }

<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>

该ID传递ok了。

The ID is passed ok.

b值返回1,但删除不执行,在活动启动我仍然看到在列表中的记录。 我做错了什么?

The b value returns 1, but the delete is not performed, on activity restart I still see the record in the list. What I am doing wrong?

推荐答案

这是我的思念:

在quering现有记录我不得不添加一个where子句来表示我不希望删除= 1 值,这些值不会立即删除,它们是标记为删除。

When quering the existing records I had to add a where clause to denote that I do not want deleted=1 values, as the values are not delete instantly, they are flagged as deleted.

Cursor managedCursor = act.managedQuery(contacts, projection, 
                ContactsContract.Groups.DELETED + "=0", 
                null,
                ContactsContract.Groups.TITLE + " ASC");
        return managedCursor;

这篇关于使用联络小组删除Android的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆