Android | 通过电话号码检索联系人照片的最佳方法是什么?

ROF*_*IME 1 java eclipse android android-contentresolver

我有一个应用程序需要获取给定联系人的照片.我有联系人的电话号码,有没有办法通过ContentResolver或任何其他表格通过电话号码检索联系人的照片?我一直在寻找,但没有找到答案.

我真的想强调使用电话号码获取联系人照片的重要性(如果存在).谢谢.

ROF*_*IME 8

好吧,我终于想出了如何添加Facebook照片.此方法将通过电话号码添加您需要的Facebook照片:

    public Bitmap getFacebookPhoto(String phoneNumber) {
    Uri phoneUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
    Uri photoUri = null;
    ContentResolver cr = this.getContentResolver();
    Cursor contact = cr.query(phoneUri,
            new String[] { ContactsContract.Contacts._ID }, null, null, null);

    if (contact.moveToFirst()) {
        long userId = contact.getLong(contact.getColumnIndex(ContactsContract.Contacts._ID));
        photoUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, userId);

    }
    else {
        Bitmap defaultPhoto = BitmapFactory.decodeResource(getResources(), android.R.drawable.ic_menu_report_image);
        return defaultPhoto;
    }
    if (photoUri != null) {
        InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(
                cr, photoUri);
        if (input != null) {
            return BitmapFactory.decodeStream(input);
        }
    } else {
        Bitmap defaultPhoto = BitmapFactory.decodeResource(getResources(), android.R.drawable.ic_menu_report_image);
        return defaultPhoto;
    }
    Bitmap defaultPhoto = BitmapFactory.decodeResource(getResources(), android.R.drawable.ic_menu_report_image);
    return defaultPhoto;
}
Run Code Online (Sandbox Code Playgroud)

  • 振作起来ROFLwTIME,我尝试了许多链接,但找不到任何相关但你的帖子中了大奖 (2认同)