Intereting Posts
Android Maps v2: «Службы Google Play, на которые полагаются некоторые ваши приложения, не поддерживаются вашим устройством». React Native v Xamarin Forms – Выбор среды для приложений Cross Platform Как поместить аутентификацию пользователя в мобильное приложение Как настроить переключатель предпочтений списка Как сделать кнопку, чтобы заполнить 50% от ширины экрана в android? RadioGroup с радиообъектами внутри относительной схемы android Как настроить высоту панели действий программно Получение даты истечения срока действия подписки на Google Play In-App Проблема с коммутатором Java: выражения case должны быть постоянными выражениями Импорт проекта Cordova в Android Studio VelocityTracker вызывает сбои в Android 4.4 Ошибка Разбавление класса com.google.android.maps.MapView Клавиатура перекрывает EditText при нажатии Есть ли недостаток в использовании Android Support Library? Как вызвать вибрацию на звуковом входе?

Как вы получаете контактную фотографию через поставщика контактов в android 2.3.6?

У меня есть эта версия, которая работает для android 4 ( String email – адрес gmail):

 private Uri getPhotoUriFromEmail(String email) { Uri u = null; String[] projection = { ContactsContract.CommonDataKinds.Email.PHOTO_URI }; String photoUri; ContentResolver cr = context.getContentResolver(); Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, projection, ContactsContract.CommonDataKinds.Email.ADDRESS + " = ?", new String[]{email}, null); if (emailCur.moveToNext()) { photoUri = emailCur.getString( emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.PHOTO_URI)); u = Uri.parse(photoUri); } return u; } 

Какова его версия 2.3.6? (Также не следует предупреждать меня, что SDK Android предупреждает меня об использовании API 11, когда я устанавливаю API 8 в качестве моей минимальной поддержки API, потому что это не так …)

Solutions Collecting From Web of "Как вы получаете контактную фотографию через поставщика контактов в android 2.3.6?"

Вы можете получить контактную фотографию uri, не используя ContactsContract.CommonDataKinds.Email.PHOTO_URI следующим образом:

 private Uri getPhotoUriFromEmail(String email) { Uri u = null; String[] projection = { ContactsContract.CommonDataKinds.Photo.CONTACT_ID }; String photoUri; ContentResolver cr = getContentResolver(); Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, projection, ContactsContract.CommonDataKinds.Email.ADDRESS + " = ?", new String[]{email}, null); if (emailCur.moveToNext()) { int columnIndex = emailCur.getColumnIndex( ContactsContract.CommonDataKinds.Photo.CONTACT_ID); long contactId = emailCur.getLong(columnIndex); u = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId); u = Uri.withAppendedPath(u, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY); } return u; } 

Кроме того, вы можете получить поток фото, используя метод ContactsContract.Contacts .openContactPhotoInputStream(ContentResolver, Uri) следующим образом:

 private InputStream getPhotoInputStreamFromEmail(String email) { Uri u = null; String[] projection = { ContactsContract.CommonDataKinds.Photo.CONTACT_ID }; String photoUri; ContentResolver cr = getContentResolver(); Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, projection, ContactsContract.CommonDataKinds.Email.ADDRESS + " = ?", new String[]{email}, null); if (emailCur.moveToNext()) { int columnIndex = emailCur.getColumnIndex( ContactsContract.CommonDataKinds.Photo.CONTACT_ID); long contactId = emailCur.getLong(columnIndex); u = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId); return ContactsContract.Contacts.openContactPhotoInputStream(cr, u); } return null; }