Итак, я работаю над приложением, где делаю фотографию и пытаюсь сохранить ее во внутреннем хранилище приложений. У меня проблемы с файловым провайдером. Я рассмотрел много вопросов, задаваемых о переполнении стека, но хотел бы получить более подробное объяснение, если это возможно.
Я также последовал примеру Google, и это дает мне следующую ошибку. https://developer.android.com/training/camera/photobasics
Failed to find configured root that contains /storage/emulated/0/Android/data/com.myapp.debug/files/Pictures/JPEG_20180427_095752_2090822261.jpg
Вот код, который у меня есть, когда я следую примеру Google.
<provider
android:name=".application.blinkupregistration.postworkphotos.PostWorkPhotosFileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
В моем коде.
Uri photoURI = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".provider", photoFile);
Для двух вышеперечисленных я также попытался жестко закодировать com.myapp.provider в полномочия и метод getUriForFile. Также сделал getpackageName () для метода getUriForFile. Но это не сильно изменилось. Я думаю, что главная проблема - пути.
Попробовал следующие пути на примере Google,
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="post_work_photos" path="Android/data/${applicationId}/files/Pictures" />
</paths>
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="post_work_photos" path="Android/data/com.myapp/files/Pictures" />
</paths>
Я заставляю это работать всякий раз, когда я изменяю свой путь.
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="post_work_photos" path="." />
</paths>
Но я не понимаю, почему это работает с периодом. Я также не знаю, правильная ли это практика, что является моей главной заботой.
Если кто-нибудь может мне помочь, то это было бы здорово. Благодарю.