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.

故写此请求,求专家解答。

提前致谢。

  1. 从 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
 )
  1. 如果设置了“预览”参数,则文件管理器中将只显示图片。如果您希望文件管理器显示所有文件类型,请不要使用“预览”参数

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

为我工作,希望它有所帮助。