如何以android编程方式从联系人号码获取联系方式

时间:2015-07-16 05:21:54

标签: android android-contentprovider android-contacts

我正在调用Android中的应用程序,我已经完成了大部分工作,但现在我正在处理通话记录,我已经制作了一个通话记录,而且我想从联系簿中获取联系人的所有详细信息,使用以编程方式编号,简而言之,如何使用联系电话号码从联系簿中获取以下详细信息,

-Name
-Email
-Photo
-Group

1 个答案:

答案 0 :(得分:1)

如果您想从电话号码中删除联系方式,请使用以下命令:

String number = "number to find";
    Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
    String name = "?";

    ContentResolver contentResolver = getContentResolver();
    Cursor contactLookup = contentResolver.query(uri, new String[] {BaseColumns._ID,
            ContactsContract.PhoneLookup.DISPLAY_NAME }, null, null, null);

    try {
        if (contactLookup != null && contactLookup.getCount() > 0) {
            contactLookup.moveToNext();
            name = contactLookup.getString(contactLookup.getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
            String contactId = contactLookup.getString(contactLookup.getColumnIndex(BaseColumns._ID));
String email = contactLookup.getString(contactLookup.getColumnIndex(BaseColumns.EMAIL));
        }
    } finally {
        if (contactLookup != null) {
            contactLookup.close();
        }
    }
  

注意为清单添加联系人读取权限

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