Android Studio - Как сделать фото без подтверждения сохранения или удаления? - PullRequest
0 голосов
/ 27 марта 2019

Я пробовал эту ссылку: Stackoverflow Но все еще не работает в моем приложении. [Android 5.1.1, API 22]

На самом деле, пользователь может выбирать между файлами из галереи или с помощью камеры, результаты которой помещаются в ArrayList.

Ибо с камеры я хочу, чтобы пользователь брал ее непрерывно без подтверждения, где результаты переходят непосредственно к ArrayList, а затем к RecyclerView.

Таким образом, пользователь может видеть результаты фото из RecyclerView.

Можно ли напрямую использовать встроенную камеру с устройства Android?

Действие для фотографирования

private void activeTakePhoto() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    takePictureIntent.putExtra("android.intent.extra.quickCapture",true);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        String fileName = "temp.jpg";
        ContentValues values = new ContentValues();
        values.put(MediaStore.Images.Media.TITLE, fileName);
        mCapturedImageURI = getContentResolver()
                .insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                        values);
        takePictureIntent
                .putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

Результат деятельности

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { //taken from camera
        String[] projection = {MediaStore.Images.Media.DATA};
        Cursor cursor =
                managedQuery(mCapturedImageURI, projection, null,
                        null, null);
        int column_index_data = cursor.getColumnIndexOrThrow(
                MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        String picturePath = cursor.getString(column_index_data);

        preparedObjectDataImage("_file", "Taken From Camera", picturePath);

    }
}

private void preparedObjectDataImage(String title, String description, 
String picturePath) {
    Image image = new Image();
    image.setTitle(title);
    image.setDescription(description);
    image.setDatetime(System.currentTimeMillis());
    image.setPath(picturePath);
    images.add(image);
    imageAdapter.notifyDataSetChanged();
}

Спасибо за вашу помощь.

...