У меня есть программа, которая позволяет пользователю выбирать изображения из галереи, сохранять их в базе данных и показывать на экране.Это работает для большинства изображений, но для определенных изображений приложение вылетает.В Logcat нет сообщения об ошибке.Но когда я перезапускаю приложение, я получаю сообщение об ошибке:
Не удалось прочитать строку 0, столбец 1 из CursorWindow.Убедитесь, что курсор инициализирован правильно перед доступом к данным из него.
(протестировано на ANDROID SDK 24)
new AlertDialog.Builder(this).setTitle("Take or Pick?").setMessage("Choose to click a new picture or choose from existing").
setNegativeButton("CHOOSE PHOTO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, REQUEST_IMAGE_PICKER);
}
}).create().show();
Код onActivityResult выглядит следующим образом:
if (requestCode == REQUEST_IMAGE_PICKER && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
Bitmap bmp= null;
try { //GET BITMAP FROM URI , TRY CATCH USED TO TACKLE
bmp = BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage)); // IO STREAM FILE NOT FOUND ERROR
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if(cameraTeamStatus==1) {
img1.setImageBitmap(bmp); //SET IMAGE
image1_to_save = convertToBlob(bmp); //CONVERT TO BLOB
}