【问题标题】:How to get contact details from contact number in android programatically如何以编程方式从android中的联系号码获取联系方式
【发布时间】:2023-04-08 09:00:02
【问题描述】:
我正在处理 android 中的通话应用程序,我已经完成了大部分工作,但现在我正在处理通话记录,我已经制作了通话记录,并且我想从通讯录中获取联系人的所有详细信息,使用它的号码以编程方式,所以简而言之如何使用联系号码从通讯录中获取以下详细信息,
-Name
-Email
-Photo
-Group
【问题讨论】:
标签:
android
android-contentprovider
android-contacts
【解决方案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" />