Uri photoURI = FileProvider.getUriForFile(this, "com.mydomain.myapp.fileprovider", photoFile);
Uri photoURI = Uri.fromFile(photoFile);
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<external-path name="my_images" path="Android/data/com.mydomain.myapp/files/Pictures" />
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
Вы повсюду приводите ссылку, но по ощущениям, вы ее внимательно не читаете)
Если вам нужно во внешней папке сохранять
FileProvider в приложении не нужен. Кроме этого getExternalFilesDir - это уже внешняя папка, просто в приватном доступе приложения, откуда можно Intent-ом Intent.ACTION_MEDIA_SCANNER_SCAN_FILE - рассказать другим приложениям, что там файл есть фотки)
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
<uses-permission android:name="android.permission.CAMERA"/>
- это разрешение на использование камеры, и если бы что-то было не так я бы и камеру не смог включить в своём приложении. На сколько я понимаю, если я в чем-то не прав поправьте меня.<uses-feature android:name="android.hardware.camera"
android:required="true" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
Generally, any photos that the user captures with the device camera should be saved on the device in the public external storage so they are accessible by all apps. The proper directory for shared photos is provided by getExternalStoragePublicDirectory(), with the DIRECTORY_PICTURES argument.