1

我正在使用下面的代码从电话簿中获取联系人姓名

Uri contactUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
Cursor phones  = getContentResolver().query(contactUri,null,null,null,null);

    while (phones.moveToNext())
    {
        String name   = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

        if (name != null)
        {
            names += name + ",";
        }
    }
    phones.close();

我注意到当有一个没有名字保存的联系人时,上面的代码将返回电话号码作为联系人姓名。我知道这就是 android 的工作方式,以防联系人在没有名字的情况下保存。但是我必须阻止这种行为并强制它返回 null 或空字符串,以防没有“Display_Name”..

可能吗?

4

1 回答 1

0

您可以在获取语句之后name和之前添加它。if

if(text.matches("[0-9]+")) // use "[0-9\-]+" if phone number has - too
    continue;

这将检查返回的值是否仅包含数值。如果是,那么它将跳过其余的循环代码。

于 2016-02-27T16:23:35.520 回答