Закрытая галерея без закрытия приложения [Android] - PullRequest
0 голосов
/ 03 мая 2018

Я новичок в мире разработчиков. У меня есть некоторые проблемы с одним вопросом. Я загружаю фотографию из моей галереи на CreateChooser, но если я хочу вернуться, потому что я понял, что не хочу загружать фотографию, мое приложение закончено вообще, и я не знаю, как это сделать, когда я закрываю Галерея (селектор) переходит к предыдущему экрану или любому фрагменту.

Это мой код:

private void mostrarDialogOpciones() {
        final CharSequence[] opciones={"Elegir imagen de Galería","Cancelar"};
        final AlertDialog.Builder builder=new AlertDialog.Builder(getContext());
        builder.setTitle("Elige una opción");
        builder.setItems(opciones, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                  if (opciones[i].equals("Elegir imagen de Galería")){

                           String[] mimeTypes = {"image/jpeg"};
                        Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
                                .setType("image/*")
                                .putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);

                        startActivityForResult(intent.createChooser(intent,"Seleccione:"),COD_SELECCIONA);
                    }else{
                        dialogInterface.dismiss();
                        //Toast.makeText(getContext(),"Elija una imagen válida",Toast.LENGTH_SHORT).show();
                    }
                //}
            }
        });
        builder.show();
    }

И это мой onActivityResult:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode){
        case COD_SELECCIONA:
            Uri miPath=data.getData();
            imgFoto.setImageURI(miPath);

            try {
                bitmap=MediaStore.Images.Media.getBitmap(getContext().getContentResolver(),miPath);
                imgFoto.setImageBitmap(bitmap);


            } catch (IOException e) {
                e.printStackTrace();
            }
            break;
    }
    bitmap=redimensionarImagen(bitmap,600,800);
}

Прости мой английский. Я надеюсь, что вы можете помочь мне! Спасибо. :)

1 Ответ

0 голосов
/ 03 мая 2018

Для этого вам не нужно ничего делать из кода. Потому что, когда галерея открывается с помощью намерения из вашей деятельности или фрагмента, и вы нажимаете кнопку «назад», она возвращается без каких-либо помех для вашей соответствующей деятельности. Так что он обрабатывается сам.

И если вы хотите что-то сделать, если вы не выбираете какое-либо изображение из галереи и только что вернулись оттуда, вы можете проверить это в своем onActivityResult с кодом результата . Если resultCode! = RESULT_OK , это означает, что вы не выбрали изображение из галереи.

...