Получение изображения камеры намеренно полное изображение - PullRequest
0 голосов
/ 21 января 2019

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

это функция, которую я использую для открытия цели камеры (которая копируется из stackoverflow):

private void openBackCamera() {
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String imageFileName = timeStamp + ".jpg";
    File storageDir = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES);
    currentImageBase64 = storageDir.getAbsolutePath() + "/" + imageFileName;
    File file = new File(currentImageBase64);
    Log.d("2","file 1: " +file.exists());
    Uri outputFileUri = FileProvider.getUriForFile(getApplicationContext(),"com.mydomain.fileprovider",file);
    currentImageBase64 =outputFileUri+"";
    Log.d("2",outputFileUri+" is the uri got from camera");
    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(cameraIntent, CAMERA_REQUEST);
}

и вот как я делаю свои изображения:

            Log.d("2","camera request!"+ currentImageBase64);
            File imgFile = new  File(currentImageBase64);
            if(imgFile.exists()) {
                Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

                ivPreview.setImageBitmap(myBitmap);
            }else{
                Log.d("2","file does not exist");
            }

обратите внимание, что журнал запросов камеры показывает, что currentImagesBase64 не является нулевым и имеет значение "content: //com.mydomain.fileprovider/name/Pictures/20190121_173332.jpg" файл в любом случае не существует.

/ ** редактировать: проблема была в недостаточных разрешениях, были запрошены разрешения для камеры и чтения и записи, и проблема была решена! ** /

...