gpt4 book ai didi

kivy - 访问可移动 SD 卡

转载 作者:行者123 更新时间:2023-12-04 08:38:05 34 4
gpt4 key购买 nike

我正在使用此代码访问 SD card :

import os
from os.path import join
from jnius import autoclass
#from android.permissions import request_permissions, Permission

#request_permissions([Permission.WRITE_EXTERNAL_STORAGE,
# Permission.READ_EXTERNAL_STORAGE])
Environment = autoclass('android.os.Environment')
self.working_directory = os.path.join(Environment.getExternalStorageDirectory().getAbsolutePath(), "my_app_dir")
if not os.path.exists(self.working_directory):
os.makedirs(self.working_directory)
但是我注意到数据仅在内部 SD 卡上创建。如何访问可移动手机 SD 卡以及我需要哪些权限(我需要在那里读写)?我的数据很大,所以我需要将它保存在可移动 SD 卡上。

最佳答案

首先,“外部存储”与“可移动存储”不同。外部存储基本上是defined by Google originally作为“并非总是可以访问的存储”,例如因为它是通过 USB 安装到 PC 上的。可以肯定地说,从 Android 4 开始,这个概念就有 lost most of the meaning .
系统实际使用哪种存储作为“外部”是completely up给设备制造商。您不应假设它是可移动媒体。您也不应该假设可移动媒体有更多的可用存储空间,或者甚至存在于系统中。
如果有,那么在您的情况下处理它的正确方法 is to use Context.getExternalFilesDirs() .然后,此方法将返回您需要迭代的多个路径,检查 File.getFreeSpace()找出哪个目录有更多的可用存储空间。
(提示:在带有可移动 SD 卡的典型手机上,getExternalFilesDirs() 返回的列表中的第二项是 probably 可移动媒体,但这是一个肮脏的黑客。)
一种现代方法是研究存储访问框架,这里是 the documentation .

关于kivy - 访问可移动 SD 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64700135/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com