gpt4 book ai didi

android - 将文件存储在可移动 SD 卡上

转载 作者:行者123 更新时间:2023-11-29 00:31:40 25 4
gpt4 key购买 nike

我在市场上有两个从 SD 卡读取/写入的 Android 应用程序。其中之一将备份文件存储到 sdcard。问题是较新的智能手机有两个 SD 卡;/mnt/sdcard 中的嵌入式卡和没有标准化目录路径的可移动 sdcard。我希望做的是为用户添加一个带有两个选项的单选按钮组;将备份存储在内部 SD 卡上(默认)或存储在可移动 SD 卡上。难题是获取可移动 SD 卡的正确路径并将该路径存储在变量中。

我发现了一个似乎适用于所有 android 设备的 linux 命令。 “df”命令列出嵌入式 sdcard (/mnt/sdcard) 和可移动 sdcard 的位置。我知道如何使用 dataoutputstream 类发送命令,但我被卡住的地方是从命令的输出中读取并从输出中过滤我需要的部分。

这是“df”命令输出的示例:

/ $ df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 369128 32 369096 0% /dev
tmpfs 369128 0 369128 0% /mnt/asec
tmpfs 369128 0 369128 0% /mnt/obb
/dev/block/mmcblk0p1 516040 476832 39208 92% /system
/dev/block/mmcblk0p7 13813852 2948206 10865646 21% /data
/dev/block/mmcblk0p2 533616 8574 525042 2% /cache
tmpfs 369128 0 369128 0% /Removable
/dev/fuse 13813852 2948206 10865646 21% /mnt/sdcard
/dev/block/vold/179:9 30306304 12222624 18083680 40% /Removable/MicroSD

以上输出来 self 的 ASUS Transformer 平板电脑,如您所见,它使用路径/Removable/MicroSD 作为可移动 SD 卡的目录。同样,我需要做的就是在我的代码中获取此输出,过滤掉所有不必要的数据,并将路径存储在一个变量中。

我不是在找人为我编写代码,我只是需要找到更好的引用,以允许我获取输出并过滤它的任何类。

感谢任何帮助。

最佳答案

我认为您必须在 SD 卡或内存中创建自己的文件夹目录。就像我在下面显示的那样。

if (sdCardDir != null) 
return (new File(sdCardDir, CALLHISTORY_FILE).exists());

ArrayList<File> posibleDir = new ArrayList<File>();
File esd = Environment.getExternalStorageDirectory();
posibleDir.add(new File(esd, "external_sd"));
posibleDir.add(esd);
posibleDir.add(new File("/sdcard"));

// Use first possible sdcard directory
for (File dir : posibleDir) {
if (dir.exists() && dir.isDirectory()) {
sdCardDir = new File(dir, TBACKUP_DIR);
if(!sdCardDir.exists())
sdCardDir.mkdir();
return true;
}
}

throw new IOException();
}

关于android - 将文件存储在可移动 SD 卡上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15287333/

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