Найти метку объема SD карты на Android

Можно ли узнать объем SD-карты, вставленной в Android-устройство?

Я понимаю, что Android рассчитан на одно "внешнее хранилище" (как возвращает Environment.getExternalStorageDirectory()), но в природе существует довольно много устройств, в которых в качестве "внешнего хранилища" используется внутренняя флэш-память, а под ней установлена SD-карта или еще более дикие комбинации (см. этот другой вопрос). Можно перечислить эти дополнительные устройства, прочитав /proc/mounts, но нам нужно что-то, чтобы идентифицировать их для пользователя. Есть ли шанс добраться до их меток томов?

Я проверил, что драйвер Linux vfat полностью игнорирует метку тома dentry и что blkid из util-linux читает сам vfat. Я также проверил, что, по крайней мере на устройстве, которое у меня есть, блочное устройство SD-карты имеет режим 660 и владельца root.root, так что я не могу этого сделать. Так что в основном все сводится к тому, есть ли какая-нибудь утилита, которая могла бы ее прочитать.

10
задан Community 23 May 2017 в 11:58
поделиться