Камера не возвращается к основной активности после съемки - PullRequest
0 голосов
/ 30 мая 2020

Когда начинается основное действие, оно напрямую запускает намерение для MediaStore. ACTION_IMAGE_CAPTURE Я реализовал метод onActivityResult, но когда я делаю снимок, он не возвращается к основному действию, а остается в приложении камеры.

Это код:

final int REQUEST_TAKE_IMAGE = 1;

    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView = findViewById(R.id.imageView);
    }

    @Override
    protected void onStart() {
        super.onStart();
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if(intent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(intent, REQUEST_TAKE_IMAGE);
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == REQUEST_TAKE_IMAGE){
            if(resultCode == RESULT_OK){
                assert data != null;
                Bundle extras = data.getExtras();
                assert extras != null;
                Bitmap bitmap = (Bitmap) extras.get("data");
                imageView.setImageBitmap(bitmap);
            }
        }
    }

1 Ответ

3 голосов
/ 30 мая 2020

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

...