0

我正在使用 perl 编写一个脚本来检测设备是否有外部 sd 卡。我知道有要检查的 Android API 环境,但我无法导入任何 API。

目前,我发现有 /storage/sdcard0(内部)和 /storage/sdcard1(外部)。

第一个问题是,/sdcard/ 和 /storage/sdcard0 有什么区别。他们似乎指向同一件事。

第二个问题是,如何编写脚本来检测外部 sdcard?即使没有插入 sdcard,目录 sdcard1 的路径仍然存在。没有插入 sdcard 时它只是空的。我可以通过运行命令 'df storage/sdcard1' 来获取 sdcard 的容量但是,解析容量编号并检查大小需要做很多工作。该设备当前运行的是 4.3,它没有任何 /mnt/extSDcard 或任何指向外部 sdcard 的东西。如果未插入 sdcard 时 storage/sdcard1 不存在会容易得多,但由于它仍然存在,所以它变得非常棘手......

我想知道是否有任何更简单的方法或任何命令行,如果插入 SD 卡,它会返回 true/false。

谢谢

4

1 回答 1

0

我认为这有点太晚了,但我遇到了同样的问题。这就是我现在正在做的事情,但尚未确认工作。

简而言之,它在外部 sdcard 上使用 df 来检查其大小。如果它是空的,那么它将是 0.00K。用tail修剪结果并用awk提取大小部分。

当然需要busybox。在我的设备中是 /storage/external_SD,您可能需要更改它。

df /storage/external_SD | busybox tail -n +2 | busybox awk '{print $2}'
于 2013-12-12T09:58:43.027 回答