如何使用命令行检测外部SD卡

时间:2013-10-30 21:28:14

标签: android perl command detect

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

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

第一个问题是,/ sdcard /和/ storage / sdcard0之间有什么区别。他们似乎指出了同样的事情。

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

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

由于

1 个答案:

答案 0 :(得分:0)

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

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

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

df /storage/external_SD | busybox tail -n +2 | busybox awk '{print $2}'