Загрузка изображения из галереи. Альтернатива startActivityForResult

Раньше с помощью такого кода можно было перейти в галерею и вернуться к активности с результатом

      `static final int GALLERY_REQUEST = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button = findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
            photoPickerIntent.setType("image/*");
            startActivityForResult(photoPickerIntent, GALLERY_REQUEST);
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent);

    Bitmap bitmap = null;
    ImageView imageView = (ImageView) findViewById(R.id.imageView);

    switch(requestCode) {
        case GALLERY_REQUEST:
            if(resultCode == RESULT_OK){
                Uri selectedImage = imageReturnedIntent.getData();
                try {
                    bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), selectedImage);
                } catch (IOException e) {
                    e.printStackTrace();
                }
                imageView.setImageBitmap(bitmap);
            }
    }
}`

Как я могу сделать то же самое сейчас, но только с помощью Activity Result API?

0 ответов

Другие вопросы по тегам