Я изменяю свое приложение для хранения информации о контактах, используя LOOKUP_KEY вместо _ID, как предлагается в документации API. Единственная проблема, с которой я столкнулся, это то, что я больше не могу загрузить фотографию контакта.
Вот проблемный код:
InputStream s = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), contactUri);
Это возвращает следующую ошибку: java.lang.IllegalArgumentException: URI: content://com.android.contacts/contacts/lookup/1424i118.2312i1220228108/photo
ContactUri, который я использую в качестве аргумента, получается следующим образом: Uri contactUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, contact_key);
и в этом примере contact_key
равно 1424i118.2312i1220228108
На основе документов API этот вспомогательный метод должен работать как с CONTENT_URI
, так и с CONTENT_LOOKUP_URI
, который я использую.
Есть идеи? Благодаря.