Android - 从电话号码获取联系人照片

标签 android photo contact

如何从联系人的地址(电话号码)获取联系人照片?

最佳答案

public static Bitmap retrieveContactPhoto(Context context, String number) {
        ContentResolver contentResolver = context.getContentResolver();
        String contactId = null;
        Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));

        String[] projection = new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.PhoneLookup._ID};

        Cursor cursor =
                contentResolver.query(
                        uri,
                        projection,
                        null,
                        null,
                        null);

        if (cursor != null) {
            while (cursor.moveToNext()) {
                contactId = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.PhoneLookup._ID));
            }
            cursor.close();
        }

        Bitmap photo = BitmapFactory.decodeResource(context.getResources(),
                R.drawable.default_image);

        try {
            if(contactId != null) {
                InputStream inputStream = ContactsContract.Contacts.openContactPhotoInputStream(context.getContentResolver(),
                    ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, new Long(contactId)));

                if (inputStream != null) {
                    photo = BitmapFactory.decodeStream(inputStream);
                }

                assert inputStream != null;
                inputStream.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return photo;
    }

关于Android - 从电话号码获取联系人照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28272558/

相关文章:

java - TTS : Speak fails

android - 方向规范在什么情况下不起作用

facebook - 使用 Facebook API 获取页面的所有照片

ios - iPhone Contact 应用程序如何检测用户是否有链接到 WhatsApp 的号码?

java - 在ArCore中旋转和移动静态物体

android - 让付费的 Android 应用程序免费一周?

ios - Xcode iOS 照片库应用程序

ios - 在 Swift 中使用 Google Place Photos 请求显示图像

ios - 从应用程序转到 native 编辑联系人

安卓联系人编程同步