Я использовал этот код, чтобы начать собирать изображение из галереи планшета.
Intent pick_picture_intent = new Intent(Intent.ACTION_GET_CONTENT);
pick_picture_intent.setType("image/*");
startActivityForResult(pick_picture_intent, PICK_PICTURE);
Все отлично работает, с startActivityForResult (), когда изображение помещается в представление изображения.(ТОЛЬКО В РЕЖИМЕ ЛАНДШАФТА), однако, когда я пытаюсь сделать то же самое в РЕЖИМЕ ПОРТРЕТА, он не работает.
Код в startActivityFroResult()
:
if(data != null && data.getData() != null) {
Uri uri = data.getData();
}
Cursor cursor = getContentResolver().query(uri, new String[] { android.provider.MediaStore.Images.ImageColumns.DATA }, null, null, null);
cursor.moveToFirst();
try {
String imagePath = cursor.getString(0);
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
ImageView imageView = new ImageView(context);
imageView.setImageBitmap(bitmap);
myLayout.addView(imageView);
} catch (Exception e) {
e.printStackTrace();
} finally {
cursor.close();
}
Почему этопроисходит?
Мне выдана эта ошибка:
android.database.sqlite.DatabaseObjectNotClosedException: Приложение не закрывало курсор или объект базы данных, который был открыт здесь