KivyMD MDFileManager 只显示图像文件,如何列出所有文件类型?
KivyMD MDFileManager shows only image files, how to list all file types?
我正在为 Android 开发一个 KivyMD 文本文件浏览器。以下是代码片段:
def __init__(self, **kwargs):
self.file_manager = MDFileManager(
exit_manager=self.exit_manager,
select_path=self.select_path,
previous=False,
)
request_permissions([Permission.WRITE_EXTERNAL_STORAGE,Permission.READ_EXTERNAL_STORAGE,Permission.INTERNET])
self.ROOT_PATH = primary_external_storage_path()
以上初始化工作完美,以下代码语句也启动文件 manager/explorer。
self.file_manager.show(self.ROOT_PATH)
但生成的内容只是文件夹名称或图像文件(.jpg、.jpeg、.png)。没有显示其他文件类型。
我在调用 self.file_manager.show(self.ROOT_PATH)
之前尝试了以下操作,但响应没有变化。
self.file_manager.use_access = True
self.file_manager.previous=False
self.file_manager.preview=False
当我尝试 self.file_manager.ext = ['txt']
扩展过滤技术时,连图像文件列表都消失了,只有文件夹名称是 listed/shown.
故写此请求,求专家解答。
提前致谢。
从 master 分支更新库 - https://github.com/kivymd/KivyMD,而不是从 pip。
self.file_manager = MDFileManager(
exit_manager=self.exit_manager,
select_path=self.select_path,
preview=True,
# preview=True - deprecated
)
如果设置了“预览”参数,则文件管理器中将只显示图片。如果您希望文件管理器显示所有文件类型,请不要使用“预览”参数
self.file_manager = MDFileManager(
exit_manager=self.exit_manager,
select_path=self.select_path,
ext=[".py", "kv"],
)
如果上述情况不行,请尝试:
self.file_manager = MDFileManager(exit_manager=self.exit_manager,
select_path=self.select_path,)
self.file_manager.ext = [".py",".kv"]
我遇到了和你一样的问题
在 android.developers 上发现实际上“所有文件”需要权限 MANAGE_EXTERNAL_STORAGE。
只需放入 buildozer.spec 文件 MANAGE_EXTERNAL_STORAGE 还有:
(列表)权限
android.permissions = 互联网,WRITE_EXTERNAL_STORAGE,READ_EXTERNAL_STORAGE,MANAGE_EXTERNAL_STORAGE
无需将其放入 py 代码中,因为您需要其他权限。
他们在代码中可以避免每次启动应用程序时都请求许可。
但是,安装应用程序后,您必须继续应用程序权限才能对所有文件进行所有管理allow permission
为我工作,希望它有所帮助。
我正在为 Android 开发一个 KivyMD 文本文件浏览器。以下是代码片段:
def __init__(self, **kwargs):
self.file_manager = MDFileManager(
exit_manager=self.exit_manager,
select_path=self.select_path,
previous=False,
)
request_permissions([Permission.WRITE_EXTERNAL_STORAGE,Permission.READ_EXTERNAL_STORAGE,Permission.INTERNET])
self.ROOT_PATH = primary_external_storage_path()
以上初始化工作完美,以下代码语句也启动文件 manager/explorer。
self.file_manager.show(self.ROOT_PATH)
但生成的内容只是文件夹名称或图像文件(.jpg、.jpeg、.png)。没有显示其他文件类型。
我在调用 self.file_manager.show(self.ROOT_PATH)
之前尝试了以下操作,但响应没有变化。
self.file_manager.use_access = True
self.file_manager.previous=False
self.file_manager.preview=False
当我尝试 self.file_manager.ext = ['txt']
扩展过滤技术时,连图像文件列表都消失了,只有文件夹名称是 listed/shown.
故写此请求,求专家解答。
提前致谢。
从 master 分支更新库 - https://github.com/kivymd/KivyMD,而不是从 pip。
self.file_manager = MDFileManager(
exit_manager=self.exit_manager,
select_path=self.select_path,
preview=True,
# preview=True - deprecated
)
如果设置了“预览”参数,则文件管理器中将只显示图片。如果您希望文件管理器显示所有文件类型,请不要使用“预览”参数
self.file_manager = MDFileManager(
exit_manager=self.exit_manager,
select_path=self.select_path,
ext=[".py", "kv"],
)
如果上述情况不行,请尝试:
self.file_manager = MDFileManager(exit_manager=self.exit_manager,
select_path=self.select_path,)
self.file_manager.ext = [".py",".kv"]
我遇到了和你一样的问题
在 android.developers 上发现实际上“所有文件”需要权限 MANAGE_EXTERNAL_STORAGE。
只需放入 buildozer.spec 文件 MANAGE_EXTERNAL_STORAGE 还有:
(列表)权限
android.permissions = 互联网,WRITE_EXTERNAL_STORAGE,READ_EXTERNAL_STORAGE,MANAGE_EXTERNAL_STORAGE 无需将其放入 py 代码中,因为您需要其他权限。 他们在代码中可以避免每次启动应用程序时都请求许可。
但是,安装应用程序后,您必须继续应用程序权限才能对所有文件进行所有管理allow permission
为我工作,希望它有所帮助。