Найти ярлык громкости SD-карты на Android - PullRequest
10 голосов
/ 16 ноября 2011

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

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

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

Ответы [ 4 ]

1 голос
/ 17 сентября 2015

Я нашел решение.

Самое простое решение - это создать busybox и использовать его следующим образом: busybox blkid

Сложное решение - найти blkid для Android и найти то, что вам нужно вего исходный код (функция blkid_dev_devname).

0 голосов
/ 22 сентября 2015

Я не знаю, может ли это помочь вам: если вы используете DDMS, вы можете видеть папки системы. В моем случае я нашел SD-карту в: / mnt / media_rw.

Вы можете получить больше информации здесь и здесь

Надеюсь, это поможет.

0 голосов
/ 18 ноября 2011

Попробуйте проанализировать вывод команды blkid. У меня это работает, но я не уверен, зависит ли это от прошивки или нет. Я получил permission denied с этой командой на AVD.

0 голосов
/ 16 ноября 2011

Я не знаю, как именно это работает в Android, но в Linux у меня есть сообщение ядра о монтировании SD-карты, где указано имя тома.Вы можете попробовать dmesg и cat / sys / devices / mmc ... (или что-то подобное)

...