我正在使用
context.getExternalFilesDir
要获取应用程序文件夹以及大多数设备上的内部存储模拟卡,请执行以下操作:
/storage/emulated/0/Android/data/mypackage.com/files
这是事实,根据文件:
返回主共享/外部存储设备上的目录的绝对路径,应用程序可以在其中放置其拥有的持久性文件。
现在,在一个文件夹上创建的
getExternalFilesDir
回来了,我有个文件
myimage.png
FileProvider.getUriForFile(...myimage.png)
在某些设备上引发错误,错误如下:
找不到包含/storage/1234-1234/Android/data/mypackage.com/files的配置根目录
我有两个问题:
-
什么会导致SD卡被视为
获取外部文件目录
而不是内部存储路径?我无法在我的设备上看到它,即使我的设备中插入了sd卡。因为内部存储应该首先被退回。
-
为什么会这样
getUriForFile
使用外部SD卡的路径时崩溃,如何修复?
我的文件路径包含
<external-files-path >
进入和工作正常,没有崩溃时使用
storage/emulated/0/Android
路径
我看到了一些答案
FileProvider error onHuawei devices
某些设备返回的路径不同
ContextCompat.getExternalFilesDirs
https://github.com/linchaolong/ImagePicker/issues/10
)那就是
getUriForFile文件
内部使用