小编alv*_*vin的帖子

Android - 新数据记录被添加到错误的联系人

我正在尝试将数据记录添加到已存在的联系人中,我使用电话查找找到该联系人,我将联系_id字段,并添加一个新数据,并将raw_contact_id设置为_id字段.在一些联系人它只是不起作用,它将数据与不同的联系人匹配.(我认为它与存储在SIM卡上的联系人有关)

请指教,也许你有不同的方式来添加数据

代码示例:

LinkedList<Long> lcv = new LinkedList<Long>();
    ContentResolver cr = getContentResolver();
    Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
    Cursor c = cr.query(uri, null, null, null, null);
    try {
        while (c.moveToNext()) {
            Uri lookupUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI,
                    c.getString(c.getColumnIndex(PhoneLookup.LOOKUP_KEY)));
            Cursor c2 = getContentResolver().query(lookupUri, new String[] { Contacts._ID, Contacts.DISPLAY_NAME },
                    null, null, null);
            try {
                if (c2.moveToNext()) {
                    Log.i(TAG, "found: " + c2.getLong(c2.getColumnIndex(Contacts._ID)) + ", " + c2.getString(c2.getColumnIndex(Contacts.DISPLAY_NAME)));
                    lcv.add(c2.getLong(c2.getColumnIndex(Contacts._ID)));
                } else {
                    Log.e(TAG, "failed to lookup");
                }
            } finally {
                c2.close();
            }
        }
    } finally …
Run Code Online (Sandbox Code Playgroud)

android contacts

9
推荐指数
1
解决办法
5780
查看次数

标签 统计

android ×1

contacts ×1