**Android studio开发,使用别人提供的库FilePicker,实现一个文件选择器的功能
在安卓真机上仅能显示JPG格式的文件,同版本安卓11虚拟机能正常显示,鸿蒙设备也能正常显示所有文件**
已经尝试使用不同的filepicker,但都是同样的问题;
尝试添加各种权限,没什么用
github上作者提供的apk可正常显示所有文件,仔细对比过manifest文件和gradle文件,除了gradle版本不同外没什么区别
根据您提供的信息,问题可能是与Android版本或设备有关,因为在虚拟机和鸿蒙设备上都能正常显示所有文件,但在真机上只能显示JPG格式的文件。下面提供一些可能有用的解决方案:
1.检查真机上的存储权限
可能是您的应用程序在真机上没有足够的权限来访问其他文件格式的文件。您可以检查应用程序的清单文件,确保它具有适当的存储权限。
2.确认真机上文件管理器应用程序支持您要查看的文件类型
有时,真机上的文件管理器应用程序可能不支持某些文件类型。您可以尝试在真机上使用其他文件管理器应用程序查看相同的文件,以确定是否存在此问题。
3.尝试使用其他文件选择器库
如果您已经尝试了不同的文件选择器库,但问题仍然存在,您可以尝试使用其他库。您可以从GitHub或其他来源查找其他开源文件选择器库,并尝试将其添加到您的应用程序中。
4.联系FilePicker库的作者
如果您已经尝试了以上所有解决方案,但问题仍然存在,您可以联系FilePicker库的作者,询问他们是否遇到过类似的问题,并请求他们提供可能的解决方案。
我也是这个问题,折腾了半天,找到问题所在了,
打开APP下的build.gradle,他给的demo里参数为:
targetSdkVersion 29
而我新建的项目里的参数为:
targetSdkVersion 30
把30改成29就行了,反过来把他demo里的29改成30,他的demo一样只显示图片,PDF、word这些都不显示了
如果你的AndroidStudio工程的目标版本是Android11+,那么需要针对Android11+需要申请所有文件访问权限。
在清单中声明 android.permission.MANAGE_EXTERNAL_STORAGE
权限。
使用Intent的 action="android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION"
操作将用户引导至一个系统设置页面,在该页面上,用户可以为您的应用启用以下选项:授予所有文件的管理权限。
如需确定您的应用是否已获得 MANAGE_EXTERNAL_STORAGE 权限,请调用 Environment.isExternalStorageManager()。
android:requestLegacyExternalStorage="true"
这个加了吧