gpt4 book ai didi

android - 拍照并保存到内部存储并获取 getUriForFile 错误

转载 作者:行者123 更新时间:2023-11-29 01:02:33 24 4
gpt4 key购买 nike

所以我正在开发一个应用程序,我会在其中拍照并尝试将其保存到应用程序的内部存储空间中。我在使用文件提供程序时遇到问题。我已经看过许多关于堆栈溢出的问题,但如果可能的话,我想得到更详细的解释。

我也按照谷歌的例子,它给了我以下错误。 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 硬编码到 authorities 和 getUriForFile 方法中。还为 getUriForFile 方法做了 getpackageName()。但是这些并没有太大的改变。我认为主要问题是路径。

使用 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>

每当我将 paths.xml 更改为以下内容时,我都会使用它。

<?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>

但我不明白为什么它适用于句点。我也不知道这是否是正确的做法,这是我主要关心的问题。

如果有人能帮助我,那就太好了。谢谢。

最佳答案

Tried the following paths by using Google's example,

他们的例子……有问题。

But I do not understand why it works with the period.

因为你是说你愿意支持外部存储根目录里面的任何东西。

I also do not know if this the correct practice

您可以使用 <external-files-path> 稍微缩小范围:

<external-files-path name="post_work_photos" path="." />

现在,您只提供 getExternalFilesDir() 中的文件,这是您的文件指向的位置。

关于android - 拍照并保存到内部存储并获取 getUriForFile 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50064200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com