Android: Gallery intent returning resultCode = = результат отменен


Я начинаю намерение выбрать картинку из галереи, но намерение всегда возвращается с resultcode RESULT_CANCELED. Я перепробовал много разных кодов, но ничего не помогает, что заставляет меня думать, что, возможно, я что-то упускаю, например, помещаю что-то в активность в манифесте Android?

Мой Код:

// The Intent
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 0);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK){
        Uri targetUri = data.getData();
        Bitmap bitmap;
        try {
            bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri));
            profileImage.setImageBitmap(bitmap);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

Буду признателен за помощь;)

2 6

2 ответа:

Хорошо, я решил эту проблему. Моя проблема оказалась в том, что метод onActivityResult() был вызван до завершения намерения галереи. Я нашел решение здесь: onActivityResult () называется преждевременно

В основном, я указал, что действие должно быть "singleTask" в манифесте. Изменение его на "синглетоп" решило эту проблему для меня.

Это спасло мне жизнь! \0 /

Android: launchMode= "singleTop"