老哥,别搞了,试了一上午,确实不行,Android 系统设计缺陷问题,选择文件会始终记住上一次(最后一次)选择的目录。下次打开选择文件前无论怎么设置初始目录,都还是会默认导航到上次打开的目录。
简单说就是:安卓系统规定,系统文件选择器没法设置初始目录,就算强行设置也无效。
原因如下:
1.EXTRA_INITIAL_URI 仅作为侧边栏目录树的 “定位提示”,不会切换当前浏览页面。
2.出于安全和隐私考虑,不提供 API 强制将文件选择器定位到特定目录。
3.DocumentsUI 会优先记住用户最后访问的位置(每个应用独立),并在下次打开时自动定位到该位置,以提高用户体验。
等后面有时间了,估计要单独封装一个自定义的文件选择器。
我在一个页面中部署了12个按钮,每个按钮中部署一个文件选择器,需要这12个按钮分别记忆不同的路径,点击后分别到达不同的文件夹,现在的问题是,无法分别记忆路径,感觉像每记忆一次文件路径就把上次记忆的路径覆盖了,最后12个文件选择器只能到达同一个路径。
事件 按钮_5.被单击(来源对象 为 视图)
'变量 文件选择1 = 创建 文件选择器()
文件选择器_2.初始目录="/storage/emulated/0/Download/技术资料文件台账/党建园地"
文件选择_2.记忆选择=真
文件选择器_2.打开("*/*")
结束 事件
事件 按钮_6.被单击(来源对象 为 视图)
'变量 文件选择1 = 创建 文件选择器()
文件选择器_3.初始目录="/storage/emulated/0/Download/技术资料文件台账/技术文件"
文件选择_3.记忆选择=真
文件选择器_3.打开("*/*")
这个文件选择器对于我来说可以使用,但是遇到一个问题,记忆路径功能有问题,只能记忆一个路径,我创建了12个文件选择器,分别记忆保存路径,但是现在只记忆一个路径,我想要各保存各的路径,希望官方再优化一下。
设计规范只能实现单个对象保存一个选择的文件路径,另外什么需求场景会用到12个文件选择器啊?理论上每次选择文件不应该只是一个动作吗?也就是打开系统文件选择框一次性选择一个或多个文件。难道您是同时打开12个文件夹选择12个文件?感觉您的需求场景可以优化。
这个文件选择器对于我来说可以使用,但是遇到一个问题,记忆路径功能有问题,只能记忆一个路径,我创建了12个文件选择器,分别记忆保存路径,但是现在只记忆一个路径,我想要各保存各的路径,希望官方再优化一下。
好的,“点击按钮,打开储存卡的某个文件夹,能让人看到里面有哪些文件...” 这个场景属于是文件选择器组件的功能了,文件选择器组件没有设置初始目录的属性,现已添加更新,更新包已经上传到原帖,可下载更新覆盖即可。
但是这个设置初始目录与目录选择器一样的,也要分手机,有的手机设置可能无效。
您发的这种是选择文件夹的功能,到文件夹内点击选择按钮以后文件夹就自动关闭了,不能后续操作打开文件夹里的文件;我要的功能是: 点击按钮,打开储存卡的某个文件夹,能让人看到里面有哪些文件,并能点开文件查看信息就行了.
您好,原帖已新增相关功能:
1.目录选择器新增属性 标题、初始目录、记忆选择。
帖子地址:http://bbs.vcnstudio.com/?c=index&a=topic&tid=849&from=nt
需注意:
由于安卓碎片化相当严重,虽然新增加的这三个属性已经尽量适配各种机型,但是由于很多国产ROM(包括各种模拟器)上,因为厂商重写了DocumentsUI,不尊重原生安卓的 Intent 里面的很多标准,因此导致很多在需要使用意图(Intent)的场景才能实现的功能就会无效,而设置初始目录、设置选择标题文本就需要使用 Intent 的 EXTRA_ 参数,经过实际测试,模拟器几乎无效,真机可以,但无法保证所有真机都有效果,如果您的手机恰好无效,可以通过借助AI或自行修改更新包里面的文件源码做特别适配。
可以使用,但是我要的实现像pc那样点击按钮直接打开固定路径的文件夹该怎么设置呢?
您好,可以用原生Java代码实现,但是安卓中选择文件夹处理回调比较复杂,加急封装了一个原生文件夹选择组件,文件及使用方式地址:http://bbs.vcnstudio.com/?c=index&a=topic&tid=849 您看下您那边能用不。