gpt4 book ai didi

android - 如何根据联系人的 ID 显示联系人的照片?

转载 作者:行者123 更新时间:2023-11-29 18:10:24 24 4
gpt4 key购买 nike

此代码(在我的 CustomAdapter 类中)仅显示基于谁给我发短信的联系人 ID,并将它们放入 ArrayList,然后显示列表。

我在每个联系人 ID 旁边都有一个名为 holder.photo 的 ImageView。 我将如何在 ImageView 中显示联系人的照片?

        String folder = "content://sms/inbox/";
Uri mSmsQueryUri = Uri.parse(folder);
messages = new ArrayList<String>();
contactID = new ArrayList<String>();
SMS = new ArrayList<String>();

try {
c = context.getContentResolver().query(mSmsQueryUri,
new String[] { "_id", "address", "date", "body" },
null, null, null);
if (c == null) {
Log.i(TAG, "cursor is null. uri: " + mSmsQueryUri);
}

} catch (Exception e) {
//Log.e(TAG, e.getMessage());
} finally {
c.close();
}
c.moveToFirst();
while (c.moveToNext()) {

phoneNumber = c.getString(0);
contactID.add(phoneNumber);
}
holder.photo.?????
//contact will cycle through all names and display each in a listview.
holder.contact.setText(contactID.get(position);

目前,我的 ListView 显示如下:

  • android_icon-----李四
  • android_icon-----简·史密斯
  • android_icon-----Foo Barr

最佳答案

试试这个..

public void getContacts(ContentResolver cr) {
Cursor phones = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
null, null);
while (phones.moveToNext()) {
String name = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String contactId = phones
.getString(phones
.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID));

Bitmap bitmap = loadContactPhoto(
getContentResolver(), Long.valueOf(contactId))
}
phones.close();

获取位图图像

public static Bitmap loadContactPhoto(ContentResolver cr, long id) {
Uri uri = ContentUris.withAppendedId(
ContactsContract.Contacts.CONTENT_URI, id);
InputStream input = ContactsContract.Contacts
.openContactPhotoInputStream(cr, uri);
if (input == null) {
return null;
}
return BitmapFactory.decodeStream(input);
}

关于android - 如何根据联系人的 ID 显示联系人的照片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11010928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com