Как перенести изображение в другой вид деятельности - PullRequest
0 голосов
/ 02 мая 2020

У меня есть два действия: первое с кнопкой, которая вызывает void openCamera, и второе, где мне нужно получить растровое изображение.
У меня два вопроса:
1. Какая строка кода сохраняет изображения?
2. Как я могу взять растровое изображение из OnActivityResult и получить его в другой деятельности?

private void openCamera() {
        ContentValues values = new ContentValues();
        values.put(MediaStore.Images.Media.TITLE, "New Picture");
        values.put(MediaStore.Images.Media.DESCRIPTION, "Taking pic from the Camera");
        image_uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
        Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, image_uri);
        startActivityForResult(cameraIntent, CAMERA_REQUEST_CODE);
    }

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

        SelectedImage.setImageURI(image_uri);
        try {
            Bitmap ImageBitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), image_uri);
            detectImage(ImageBitmap);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Не думайте о том, чтобы передать его через Bundle (документы: https://developer.android.com/guide/topics/resources/runtime-changes.html#RetainingAnObject)

Я думаю, вы должны сохранить изображение во внутреннем хранилище вашего приложения и затем загрузить это в вашем втором занятии. Вот ответы, объясняющие, как это сделать: Сохранение и чтение растровых изображений / изображений из внутренней памяти в Android

0 голосов
/ 02 мая 2020

Передайте изображение uri в виде строки вместе с намерением действия

mIntent.putExtra("image", image_url.toString());

В процессе получения получите uri и переместите свой код для создания там растрового изображения.

String image_url = getIntent().getStringExtra("image");
//your code to get bitmap
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...