帖子
帖子
用户
博客
课程
显示全部楼层
309
帖子
3
勋章
7284
Y币

[多端开发] 授权储存权限前和授权后的路径不一致的问题

[复制链接]
发表于 2024-5-21 18:03:14
本帖最后由 8080 于 2024-5-21 18:08 编辑

fs:   widget box:  cache:等路径,哪个可以在授权储存权限之前和之后保持路径不变

现需要缓存图片和文件,在授权储存权限之前存到哪里比较合适?

授权储存权限之后怎么调用同一路径

8080
309
帖子
3
勋章
7284
Y币
最佳答案
结论,安装包的api.boxDir,api.wgtRootDir路径在授权前后保持一致 但wgtrootdir不能写入,所以缓存文件首选写入box://路径 或者保存授权前的fs路径到全局变量中,后续调用fs路径时从自己保存的值中取, 建议平台把fs://协议授权前的路径固定下来,这样在授权后和授权前都能读取同一个路径的文件
不是判断权限,有权限才存储吗,没有权限就不存储吗。
309
帖子
3
勋章
7284
Y币
chyd④④⑤⑤②⑦⑧⑤② · 2024-5-21 20:33不是判断权限,有权限才存储吗,没有权限就不存储吗。

以前是这样,一进app就申请了储存权限,然后存到fs://路径下,
现在上架要求不能这样申请,所以没有权限的fs://默认是储存到哪里去了呢?

自定义loader没有储存权限时,也能推代码过去,不知道存在哪里的,授权储存权限后再推,又去了另一个地方,机制到底是怎样的,有教程吗?能否授权前后我都去读授权前储存的路径
309
帖子
3
勋章
7284
Y币
存储权限授权之前
fs://的路径为   /storage/emulated/0/Android/data/com.jieqinjia.kuailai/files/fslegacy/UZMap/A6124464459717
box://     /data/user/0/com.jieqinjia.kuailai/box

授权之后
fs://                 /storage/emulated/0/UZMap/A6124464459717
box://     /data/user/0/com.jieqinjia.kuailai/box
309
帖子
3
勋章
7284
Y币
测试环境:安卓自定义loader(稍后打个测试包测测试版)


api.fsDir  
api.boxDir
api.cacheDir
api.wgtRootDir

授权储存权限之前
/storage/emulated/0/Android/data/com.jieqinjia.kuailai/files/fslegacy/UZMap/A6124464459717
/data/user/0/com.jieqinjia.kuailai/box
/storage/emulated/0/Android/data/com.jieqinjia.kuailai/files/fslegacy/UZMap/A6124464459717/cache
file:///storage/emulated/0/Android/data/com.jieqinjia.kuailai/files/fslegacy/UZMap/wgt/A6124464459717

授权之后
/storage/emulated/0/UZMap/A6124464459717
/data/user/0/com.jieqinjia.kuailai/box
/storage/emulated/0/UZMap/A6124464459717/cache
file:///storage/emulated/0/UZMap/wgt/A6124464459717




只有box路径保持不变


309
帖子
3
勋章
7284
Y币
ios四个路径依次如下
/var/mobile/Containers/Data/Application/00ECF0A8-24F2-464D-B4B7-697C8C709F3B/Documents/uzfs/A6124464459717
/var/mobile/Containers/Data/Application/00ECF0A8-24F2-464D-B4B7-697C8C709F3B/Documents/uzfs/box
/var/mobile/Containers/Data/Application/00ECF0A8-24F2-464D-B4B7-697C8C709F3B/Library/Caches/APICloud/Cache
/var/mobile/Containers/Data/Application/00ECF0A8-24F2-464D-B4B7-697C8C709F3B/Documents/uzfs/wgt/A6124464459717
309
帖子
3
勋章
7284
Y币
测试版app,授权前:
/storage/emulated/0/Android/data/com.iieginiia.kuailai/files/fslegacy/UZMap/A6124464459717
/data/user/0/com.jieqinjia.kuailai/box
/storage/emulated/0/Android/data/com.iieginiia.kuailai/fles/fslegacy/UZMap/A6124464459717/cache
file:///android asset/widget

授权后:
/storage/emulated/0/UZMap/A6124464459717
/data/user/0/com.jieqinjia.kuailai/box
/storage/emulated/0/UZMap/A6124464459717/cache
file:///android_asset/widget
309
帖子
3
勋章
7284
Y币
本帖最后由 8080 于 2024-5-21 22:31 编辑

结论,安装包的api.boxDir,api.wgtRootDir路径在授权前后保持一致
但wgtrootdir不能写入,所以缓存文件首选写入box://路径

或者保存授权前的fs路径到全局变量中,后续调用fs路径时从自己保存的值中取,

建议平台把fs://协议授权前的路径固定下来,这样在授权后和授权前都能读取同一个路径的文件
您需要登录后才可以回帖 登录

本版积分规则