Я работаю над контактным приложением, его показывать пропущенные звонки, набранные вызовы, проблема возникает, когда кто-то, чей номер сотового телефона не звонит, у меня есть метод, который пытается получить имя вызывающего абонента, основанное на номере ячейки, а затем другое, которое получает идентификатор contactID на основе номера, тогда имя, номер и контактный идентификатор сохраняются в SQLlited Database, если вызывающий абонент не сохраняется в телефонной книге, контактуID присваивается случайное Interger, когда я хочу для извлечения вызывающих абонентов я вызываю метод, который получает номер, имя и контактный идентификатор, на дисплее Я использую contactID для запуска телефона и получения отображаемого изображения вызывающего абонента, но, глядя на то, что происходит с ошибкой, когда контакт несохраненный метод, который извлекает вызывающего абонента, является несохраненным, случайное значение, хранящееся в переменной contactID, сопоставляется с телефоном, если это ha ppens я получаю IllegalArgumentException
Exception на context.getContentResolver().query(photoUri, new String[]{ContactsContract.Contacts.Photo.PHOTO}, null, null, null);
вот мой полный метод, который возвращает дисплей растровогоIllegalArgumentException при попытке получить контактное фото Android
public Bitmap openPhoto(long contactId, Context context) {
Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, contactId);
Uri photoUri = Uri.withAppendedPath(contactUri, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY);
Cursor cursor = context.getContentResolver().query(photoUri,
new String[]{ContactsContract.Contacts.Photo.PHOTO}, null, null, null);
if (cursor == null) {
return null;
}
try {
if (cursor.moveToFirst()) {
byte[] data = cursor.getBlob(0);
if (data != null) {
Log.d("BTmap","Bitmap Exists");
return BitmapFactory.decodeStream(new ByteArrayInputStream(data));
}
}
} finally {
cursor.close();
}
Log.d("BTmap","Bitmap Dont Exist");
return null;
}
может кто-нибудь поможет мне о том, как преодолеть эту ошибку, когда я запускаю метод openPhoto
в (IllegalArgumentException e)
попытке поймать блок Non из display Изображения загружают даже те, которые сохранены в контактной книге и имеют изображения на них, спасибо вам в Advance.