Как отключить сд карту на андроид

Содержание

Инструкция по использованию SD-карты в устройстве с ОС Android

Как отключить сд карту на андроид

Некоторые устройства на операционной системе Android имеют слот под карту памяти, чаще всего, формата microSD. Если у вас одно из таких устройств, это позволит:

  • хранить большее количество информации за счет увеличения объема памяти;
  • переносить некоторые приложения из внутреннего накопителя смартфона на SD-карту без потери их функционала.

Найти информацию о наличии слота под карту памяти sd можно на странице вашего устройства на сайте компании-производителя.

Некоторые из функций sd карты доступны только в устройствах с версией Android 6.0 и выше.

Шаг 1. Как правильно установить карту памяти

  1. Определите расположение слота под сд карту в вашем устройстве.
  2. Выключите устройство.
  3. Извлеките слот или откройте заднюю панель устройства. Если это необходимо, приподнимите держатель карты памяти.
  4. Установите карту в нужное положение. Опустите держатель, если это необходимо.
  5. Верните слот и/или заднюю панель устройства в исходное положение.

Шаг 2. Как включить карту памяти sd

1. После включения телефона вы получите уведомление об установке карты памяти.

2. Кликните кнопку «Настроить».

3. Выберите один из вариантов настройки памяти:

  • Съемный накопитель. При выборе этого пункта можно сохранять файлы (музыку, фото и т.п.), переносить их с sd-картой на любое устройство, имеющее слот под карту, без потери сохраненной информации. Перенос приложений в этом случае не предусмотрен.
  • Внутренняя память. Выбирая этот пункт, вы получаете возможность сохранить приложения на дополнительном накопителе, но использовать их можно только на этом устройстве. После переноса сд карты в другое устройство она будет очищена.

4. Проведите дальнейшую настройку по подсказкам, возникающим на дисплее телефона.

5. Когда настройки памяти будут завершены, нажмите кнопку «Готово».

Как перенести приложения на карту памяти

Если во время настройки вы выбрали пункт «Внутренняя память», то можете переместить некоторые приложения на дополнительный накопитель. Не для всех приложений доступен перенос из внутреннего хранилища на внешний накопитель.

  1. Зайдите в настройки своего устройства.

  2. Найдите пункт «Приложения».

  3. Выберите, что именно хотите сохранить на карте памяти.

  4. Выберите пункт «Хранилище».

  5. Зайдите в раздел «Использовано» и кликните кнопку «Изменить».

  6. Выберите пункт “SD-карта”.

  7. Проведите дальнейшую настройку по подсказкам, возникающим на дисплее вашего смартфона.

Как перенести файлы с телефона на карту памяти Андроид

Если во время настройки вы выбрали пункт «Съемный накопитель», это дает возможность переместить сохраненные на вашем телефоне файлы (музыку или фото и т.п.) на sd-карту, таким образом, освободив внутреннее хранилище смартфона.

Шаг 1. Копирование сохраненных в телефоне файлов на внешний накопитель

  1. Зайдите в настройки своего устройства.
  2. Кликните пункт «Память».
  3. Кликните пункт «Внутренняя память».
  4. Выберите, какой тип файлов вам нужно переместить.

  5. Долгим нажатием выберите те файлы, которые вам нужно отправить на внешний накопитель.
  6. Нажмите на три точки (⋮), выберите пункт «Скопировать в…».
  7. Выберите пункты Сохранить → SD-карта.

  8. Выберите папку, в которой хотите сохранить файлы.
  9. Скопируйте выбранные файлы.

Шаг 2. Удаление файлов, сохраненных во внутреннем накопителе смартфона

  1. Зайдите в настройки своего устройства.
  2. Выберите «Память».
  3. Выберите пункт «Внутренняя память».
  4. Выберите, какой тип файлов вы хотите удалить.
  5. Долгим нажатием выберите те файлы, которые нужно удалить.
  6. Выберите значок корзины.

Просмотр файлов или приложений, сохраненных на карте памяти

На телефоне можно просматривать список всех файлов, приложений. Кроме того, Андроид позволяет узнать, сколько свободного места осталось на sd-карте.

Если при настройке накопителя был выбран пункт «Внутренняя память»

  1. Зайдите в настройки своего устройства.
  2. Выберите «Память».
  3. В списке выберите карту памяти.
  4. Теперь можно увидеть количество использованного места, а также, сколько памяти накопителя еще свободно. Выбирая различные категории, вы можете просматривать, какие именно файлы скачаны на sd карту.

Если при настройке накопителя был выбран пункт «Съемный накопитель»

  1. Вытащите панель управления движением пальца по экрану смартфона сверху вниз.
  2. Нажмите кнопку «Открыть» под активным уведомлением об установке карты памяти.

Форматирование съемного накопителя

  1. Зайдите в настройки своего устройства.
  2. Выберите пункт «Память».
  3. В списке меню нажмите пункт sd-карта.
  4. Нажмите на три точки (⋮), выберите пункты Настройки → Формат.
  5. Выберите пункт «Очистить и отформатировать» – это удалит все сохраненные приложения/файлы, хранившиеся в памяти внешнего накопителя.

Отключение и извлечение карты памяти

Чтобы не повредить данные, сохраненные на съемном накопителе, перед извлечением его необходимо безопасно отключить!

  1. Зайдите в настройки своего устройства.
  2. Выберите пункт «Память».
  3. Выберите пункт «Извлечь».

Приложения, сохраненные на карте памяти, после ее отключения не будут работать, пока карта не будет вставлена и подключена заново.

Шаг 2. Извлечение карты памяти

  1. Определите расположение слота под sd-карту в вашем устройстве.
  2. Выключите смартфон.
  3. Извлеките слот или откройте заднюю панель устройства. Если это необходимо, приподнимите держатель карты памяти.
  4. Вытащите карту памяти из слота.
  5. Верните слот и/или заднюю крышку вашего устройства в исходное положение.

Источник: https://softdroid.net/instrukciya-po-ispolzovaniyu-sd-karty-os-android

SD карта как внутренняя память Андроид

Как отключить сд карту на андроид

SD карта как внутренняя память Андроид. Если ваш телефон или планшет на Android 6.0 или 7 Nougat имеет разъем для подключения карты памяти, то вы можете использовать карту памяти MicroSD в качестве внутренней памяти вашего устройства, такая возможность впервые появилась именно в Android 6.0 Marshmallow.

В этой инструкции — о настройке SD карты как внутренней памяти Андроид и о том, какие ограничения и особенности при этом имеются.

Учитывайте, что некоторые устройства не поддерживают данной функции, несмотря на нужную версию андроид (Samsung Galaxy S7, LG G5, хотя и для них есть возможное решение, которое будет приведено в материале).

См. также: Как очистить внутреннюю память на Android телефоне или планшете.

Примечание: при использовании карты памяти таким образом, она не может быть использована в других устройствах — т.е. вынуть и подключить ее через кард-ридер к компьютеру получится (точнее, прочесть данные) только после полного форматирования.

Использование карты памяти SD в качестве внутренней памяти

Прежде чем приступать к настройке, перенесите все важные данные с вашей карты памяти куда-либо: в процессе она будет полностью отформатирована.

Дальнейшие действия будут выглядеть следующим образом (вместо первых двух пунктов можно нажать по «Настроить» в уведомлении о том, что обнаружена новая SD-карта, если вы ее только что установили и такое уведомление отображается):

1. Зайдите в НастройкиХранилище и USB-накопители и нажмите по пункту «SD-карта» (На некоторых устройствах пункт настроек накопителей может находится в разделе «Дополнительно», например, на ZTE). 

2. В меню (кнопка справа вверху) выберите «Настроить». Если в меню присутствует пункт «Внутренняя память», сразу нажмите по нему и пропустите пункт 3. 

3. Нажмите «Внутренняя память».

4. Прочтите предупреждение о том, что все данные с карты будут удалены, прежде чем ее можно будет использовать в качестве внутренней памяти, нажмите «Очистить и отформатировать». 

5. Дождитесь окончания процесса форматирования.

6. Если по завершении процесса вы увидите сообщение «SD-карта работает медленно», это говорит о том, что вы используете карту памяти Class 4, 6 и подобную — т.е. действительно медленную.

Ее можно будет использовать в качестве внутренней памяти, но это отразится на скорости работы вашего Android телефона или планшета (такие карты памяти могут работать до 10 раз медленнее чем обычная внутренняя память).

Рекомендуется использовать карты памяти UHS Speed Class 3 (U3).

7. После форматирования вам будет предложено перенести данные на новое устройство, выберите «Перенести сейчас» (до переноса процесс не считается завершенным). 

8. Нажмите «Готово».

9. Рекомендуется сразу после окончания форматирования карты как внутренней памяти перезагрузить ваш телефон или планшет — нажмите и удерживайте кнопку питания, затем выберите пункт «Перезагрузить», а если такой отсутствует — «Отключить питание» или «Выключить», а после выключения — снова включите устройство.

На этом процесс завершен: если зайти в параметры «Хранилище и USB накопители», то вы увидите, что место, занятое во внутренней памяти уменьшилось, на карте памяти — увеличилось, а общий объем памяти также увеличился.

Однако, в работе функции использования SD-карты как внутренней памяти в Android 6 и 7 есть некоторые особенности, которые могут сделать использование такой возможности нецелесообразным.

Особенности работы карты памяти в качестве внутренней памяти Android

Можно предположить, что когда к внутренней памяти Android объемом N присоединяется объем карты памяти M, общий доступный объем внутренней памяти должен стать равным N+M. Более того, примерно это отображается и в информации о хранилище устройства, однако по факту все работает несколько иначе:

  • Всё, что возможно (за исключением некоторых приложений, системных обновлений) будет помещаться на внутреннюю память, находящуюся на SD-карте, без предоставления выбора.
  • При подключении Android устройства к компьютеру в данном случае вы будете «видеть» и иметь доступ только к внутренней памяти на карте. То же самое и в файловых менеджерах на самом устройстве. 

Как итог – после того, момента, когда SD карта памяти стала использоваться как внутренняя память, у пользователя нет доступа к «настоящей» внутренней памяти, а если предположить, что собственная внутренняя память устройства была больше чем память MicroSD, то объем доступной внутренней памяти после описываемых действий не увеличится, а уменьшится.

Форматирование карты памяти для использования в качестве внутреннего хранилища в ADB

Для Android устройств, где функция недоступна, например, на Samsung Galaxy S7, существует возможность отформатировать SD карту в качестве внутренней памяти с помощью ADB Shell.

Поскольку этот способ потенциально может привести к проблемам с телефоном (и не на любом устройстве может сработать), подробности по установке ADB, включению отладки по USB и запуску командной строки в папке с adb я пропущу (Если вы не знаете, как это делается, то, возможно, лучше не стоит браться. А если возьметесь — то на свой страх и риск).

Сами же необходимые команды будут выглядеть следующим образом (карта памяти должна быть подключена):

  • adb shell
  • sm list-disks (в результате выполнения этой команды обратите внимание на выданный идентификатор диска вида disk:NNN,NN — он потребуется в следующей команде)
  • sm partition disk:NNN,NN private

По завершении форматирования, выйдите из adb shell, а на телефоне, в параметрах хранилища откройте пункт «SD карта», нажмите по кнопке меню справа вверху и нажмите «Перенести данные» (это обязательно, иначе продолжит использоваться внутренняя память телефона). По окончании переноса процесс можно считать завершенным.

Как вернуть обычное функционирование карты памяти

Если вы решите отключить карту памяти от внутренней памяти, сделать это просто — перенесите с нее все важные данные, после чего зайдите, также как и в первом способе в настройки SD-карты.

Выберите пункт «Портативный носитель» и, следуя указаниям, выполните форматирование карты памяти.

Источник: https://upgrade-android.ru/stati/stati/4554-sd-karta-kak-vnutrennyaya-pamyat-android.html

SD карта как внутренняя память Android

Как отключить сд карту на андроид

Если ваш телефон или планшет на Android 6.0, 7 Nougat, 8.0 Oreo или 9.0 Pie имеет разъем для подключения карты памяти, то вы можете использовать карту памяти MicroSD в качестве внутренней памяти вашего устройства, такая возможность впервые появилась именно в Android 6.0 Marshmallow.

В этой инструкции — о настройке SD карты как внутренней памяти Android и о том, какие ограничения и особенности при этом имеются. Сначала показан процесс для 7.0, затем — для последней версии Android 9.

Учитывайте, что некоторые устройства не поддерживают данной функции, несмотря на нужную версию андроид (Samsung Galaxy, LG, хотя и для них есть возможное решение, которое будет приведено в материале). См.

также: Как очистить внутреннюю память на Android телефоне или планшете.

Примечание: при использовании карты памяти таким образом, она не может быть использована в других устройствах — т.е. вынуть и подключить ее через кард-ридер к компьютеру получится (точнее, прочесть данные) только после полного форматирования.

  • Использование SD карты как внутренней памяти Android (пример для Android 7)
  • Как форматировать SD карту как внутреннюю память (пример для Android 9)
  • инструкция
  • Важные особенности работы карты в качестве внутренней памяти
  • Как отформатировать карту памяти в качестве внутреннего хранилища на устройствах Samsung, LG (и других с Android 6 и более новых, где данный пункт отсутствует в настройках)
  • Как отключить SD карту от внутренней памяти Android (использовать как обычную карту памяти)

Как форматировать SD карту памяти как внутреннюю память (пример для Android 9.0)

На последней версии Android все действия по превращению карты памяти MicroSD во внутреннюю практически те же самые, но на всякий случай отдельно опишу шаги и приведу снимки экрана (не забудьте, что все данные с карты памяти в процессе будут удалены, позаботьтесь о сохранении важных файлов):

  1. На вашем смартфоне зайдите в Настройки — Хранилище. А затем нажмите по пункту «SD-карта». 
  2. Нажмите по кнопке меню справа вверху, выберите пункт «Настройки хранилища», а на следующем экране — «Внутренняя память». 
  3. Внимательно прочитайте, что именно произойдет и, если согласны, подтвердите форматирование карты памяти как внутренней памяти. Дождитесь завершения процесса. 
  4. Для переноса данных (тех, которые можно перенести) из внутренней памяти на SD карту памяти, откройте меню в параметрах хранилища и выберите пункт «Перенести данные». 

На этом процедура будет завершена. Все особенности работы и способ возврата карты памяти в режим работы в качестве портативного накопителя остаются теми же самыми, что и для предыдущих версий Android.

инструкция

Далее — простое видео, где весь процесс форматирования MicroSD в качестве внутреннего хранилища, а также перенос данных на карту памяти показаны наглядно.

РУКОВОДСТВО: Настройте Micro SD как внутреннюю память на вашем Xiaomi

Как отключить сд карту на андроид

Смартфоны марки Xiaomi / Redmi имеют один из лучших графических интерфейсов для Android, с множеством встроенных функций.

Мы говорим о MIUI, вышедшем в двенадцатой версии, что позволяет нам переделывать множество опций, чтобы лучше настроить пользовательский интерфейс, но члены команды разработчиков MIUI не думали о функции, и мы ссылаемся на возможность использования Micro SD как память для подключения к пространству, предоставленному внутренней памятью.

В настоящее время почти все смартфоны марки имеют базовую емкость 64 ГБ, и поэтому уловка, о которой мы поговорим в этом руководстве, может и не понадобиться, но для всех тех, чье пространство никогда не бывает достаточно, вам просто нужно освоиться и продолжить в чтение.

Вы наверняка заметили, что когда вы вставляете карту памяти microSD в свой смартфон Xiaomi / Redmi, она будет использоваться только для сохранения определенных файлов, таких как фотографии и видео, и объяснение этого поведения основано на том факте, что классическая карта памяти micro SD будет медленной как внутренняя теория, влияющая на пользовательский опыт и общую производительность.

На рынке существуют различные решения для карт Micro SD, но не все из них гарантируют соответствующую скорость, поэтому рекомендуется иметь продукты как минимум класса А1 или А2, чтобы они могли выполнять приложения гибким образом.

Хорошая и надежная SD-карта всегда пригодится, учитывая текущие расходы, и даже инвестирование 20/20 евро в 128 ГБ встроенной памяти – определенно выгодная сделка.

Мы не будем здесь сообщать, какая карта Micro SD лучше других, но имейте в виду, что чем выше класс, тем быстрее будет карта и, следовательно, лучше.
Пример карты Micro SD

Без предварительных условий мы пытаемся настроить карту Micro SD как внутреннюю память для смартфона с MIUI ROM.

Такая базовая функция официально не поддерживается, и поэтому собственное приложение смартфона может быть сбито с толку при отображении реальной доступной памяти, поэтому рекомендуется загрузить специальную, совершенно бесплатную, в магазине Play Store, например приложение Free Space. ,

FreeSpace

Инструмент для просмотра и проверки свободного места на вашем устройстве.

Перед началом обязательно убедитесь, что вы соответствуете следующим требованиям:

  • Смартфон Xiaomi / Redmi с Android 6.0 или более поздней версии, оснащенный слотом SD;
  • Пустая карта памяти формата A1 или A2;
  • ПК с установленными драйверами ADB;
  • Приложение QuickShortcutMaker (скачать со значка ниже)

QuickShortcutMaker

Создайте ссылку на приложение из списка задач, установленных на вашем телефоне.

  • Прежде всего, вам нужно активировать настройки разработчика, щелкнув 6/8 раз на версии MIUI вашего смартфона;
  • Теперь перейдите в меню «Дополнительные настройки» и выберите меню «Параметры разработчика», в котором вы включите пункт «Сохранять активным» и «Отладка по USB», в то время как вам нужно будет отключить пункт «Оптимизация MIUI».

  • После этих шагов вам нужно будет подключить ваш смартфон с установленной картой Micro SD к ПК;
  • Откройте командное окно (cmd.exe) на ПК с Windows, запустив его от имени администратора;
  • Чтобы проверить правильность подключения смартфона к ПК, введите команду устройства adb. В окне Windows появится номер, соответствующий вашему смартфону, на котором у вас спросят разрешение на отладку USB, которую вы должны будете дать OK.

  • Теперь выполните следующие команды в том порядке, в котором мы их вам показываем. Вы получите строку как  диск: 179,64 (вы можете получить другой номер).
    • ADB Shell
    • см набор-сила-приемистость истина
    • см список дисков
  • Теперь у вас есть две возможности: вы можете решить полностью использовать карту micro SD в качестве внутренней памяти или только ее части. В первом случае введите команду см раздел диска: 179,64 приват в противном случае команда  см раздел диска: 179,64 смешанный “YY” где «YY» указывает SD, который вы хотите использовать;
  • Вернитесь к командной оболочке и введите см список-томов. Вы получите строку, похожую на: private:179.66 mounted 705131-c6a0-4e3a-959b-605a65334c8c. Скопируйте числа 705 и т. Д. Для следующего шага.
  • Теперь запустите команду pm перемещение первичного хранилища YY где YY представляет числа, которые вы получили в предыдущей команде. На вашем смартфоне вы получите уведомление о переносе данных.
  • На вашем смартфоне откройте приложение QuickShortcutMaker и найдите процесс “com.android.settings ”  в листе активности найдите пункт «com.android.settings.Applications.ManageApplications ” и создайте ссылку на эту услугу (этот последний шаг может не выполняться на устаревших смартфонах)
  • Перезагрузите телефон, и все готово!

Сложный процесс, который дает многим устройствам новую жизнь. И что ты думаешь об этом? Вам удалось увеличить внутреннюю память вашего Xiaomi?

Redmi Note 9 global 4 / 128Gb (версия с NFC)

Shipping Доставка по приоритетной линии ЕС (7 / 15gg, без таможни) ✈

Вы заинтересованы в предложениях? Следите за нашим телеграммой! Множество скидочных кодов, предложений, некоторые эксклюзивные от группы, на телефоны, планшеты, гаджеты и технологии

Источник: https://ru.XiaomiToday.it/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D0%BE-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B5-Micro-SD-%D0%B2-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5-%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D0%B5%D0%B9-%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8-%D0%BD%D0%B0-%D0%B2%D0%B0%D1%88%D0%B5%D0%BC-Xiaomi.html

Как отключить SD карту на андроид?

Как отключить сд карту на андроид

Разрабатывая приложение для проведения соревнований, я столкнулся с проблемой хранения базы данных. Проблема состояла в том, как мне определить внешнюю карту памяти. В целом поиск в сети точного ответа не дал. Поэтому, объединив все найденные результаты, я собрал свой класс. Если кому интересно, смотрим под катом.
Итак, начнем с теории.

Терминология

Гугл нам говорит, что есть следующие понятия:

  1. Внутренняя (internal) память — это часть встроенной в телефон карты памяти. При ее использовании по умолчанию папка приложения защищена от доступа других приложений (Using the Internal Storage).
  2. Внешняя (external) память — это общее «внешнее хранилище», т.е.

    это может быть как часть встроенной памяти, так и удаляемое устройство. Обычно это часть встроенной памяти, как удаляемое устройство я видел в последний раз на андройде 2.2, где встроенная память была около 2Гб, и подключаемая память становилась внешней (Using the External Storage).

  3. Удаляемая (removable) память — все хранилища, которые могут быть удалены из устройства без «хирургических» вмешательств.

До версии KitKat 4.4 API не предоставляло функционала для получения путей к внешней памяти.

Начиная с этой версии (API 19) появилась функция public abstract File[] getExternalFilesDirs (String type), которая возвращает массив строк с путями к внутренней и внешней памяти. Но как же быть с нашей SD Card, которая вставлена в слот? Путь к ней мы опять не можем получить.

Результаты поиска

Чтобы ответить на поставленный вопрос я обратился к всезнающему гуглу. Но и он мне не дал четкого ответа.

Было рассмотрено множество вариантов определения от использования стандартных функций, которые ведут к внешней памяти, но ничего общего с удаляемыми устройствами хранения данных они не имеют, до обработки правил монтирования устройств (Android же на ядре Linux работает).

В последних случаях были использованы «зашитые» пути к папке с примонтироваными устройствами (в различных версиях эта директория разная). Не стоит забывать, что от версии к версии правила монтирования меняются. В конечном итоге я решил объединить все полученные знания и написал свой класс, который может нам вернуть пути к внешним и удаляемым устройствам.

Описание кода

Был создан класс MountDevice, который содержит в себе путь к устройству, тип устройства и некий хэш. Типов устройств выделено два (внутреннюю память я не стал трогать, так как к ней доступ можно получить через API системы).

public enum MountDeviceType { EXTERNAL_SD_CARD, REMOVABLE_SD_CARD}
И был создан класс StorageHelper, который и осуществляет поиск доступных карт памяти.

В классе StorageHelper реализовано два способа поиска — через системное окружение (Environment) и с использованием утилиты Linux mount, а точнее результата ее выполнения.

Способ первый — Environment

При работе с окружением я использую стандартную функцию getExternalStorageDirectory() для получения информации о внешней памяти. Чтобы получить информацию о удаляемой памяти, я использую переменную окружения «SECONDARY_STORAGE«.

Внешняя память всегда одна и обычно всегда есть, поэтому проверяем ее на читаемость, вычисляем хэш и запоминаем. Удаляемой памяти может быть много, поэтому необходимо полученную строку разбить по разделителю и проверять каждое значение. Функция fillDevicesEnvirementString path = android.os.Environment.

getExternalStorageDirectory() .getAbsolutePath();if (!path.trim().isEmpty() && android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED)) { testAndAdd(path, MountDeviceType.EXTERNAL_SD_CARD);} // Получаем ремуваблString rawSecondaryStoragesStr = System.

getenv(«SECONDARY_STORAGE»);if (rawSecondaryStoragesStr != null && !rawSecondaryStoragesStr.isEmpty()) { // All Secondary SD-CARDs splited into array final String[] rawSecondaryStorages = rawSecondaryStoragesStr .split(File.

pathSeparator); for (String rawSecondaryStorage : rawSecondaryStorages) { testAndAdd(rawSecondaryStorage, MountDeviceType.REMOVABLE_SD_CARD); }}

Вариант решения взят со stackoverflow. Ответ где-то там внизу.

Способ второй — mount

Так как у меня долго не получалось заставить систему мне сказать путь к удаляемой памяти, я решил искать в сторону примонтированных устройств. В системе есть файлы конфигурации, в которых описаны правила монтирования внешних устройств. Все бы хорошо, но на Android версии 4.

* к этому файлу простым смертным доступа нет, поэтому рассматривать этот способ не буду.

Вернемся к утилите mount. При запуске без параметров команда возвращает список смонтированных файловых систем. Удаляемые устройства имеют обычно формат файловой системы FAT, то будем выделять строки, в которых есть характеристика «fat«.

Внешняя память будет характеризоваться параметром «fuse«.

Примечание: при использовании такого способа не всегда корректно (скорее всего я что-то не учел) определяются типы смотнтированных устройств. Разницу замечал на разных версиях Android. Поэтому этот способ можно использовать как дополнительный. Функция fillDevicesProcesstry { Runtime runtime = Runtime.getRuntime(); proc = runtime.

exec(«mount»); try { is = proc.getInputStream(); isr = new InputStreamReader(is); br = new BufferedReader(isr); while ((line = br.readLine()) != null) { if (line.contains(«secure»)) continue; if (line.contains(«asec»)) continue; if (line.contains(«fat»)) {// TF card String columns[] = line.split(» «); if (columns != null && columns.

length > 1) { testAndAdd(columns[1], MountDeviceType.REMOVABLE_SD_CARD); } } else if (line.contains(«fuse»)) {// internal(External) // storage String columns[] = line.split(» «); if (columns != null && columns.length > 1) { // mount = mount.concat(columns[1] + «»); testAndAdd(columns[1], MountDeviceType.

EXTERNAL_SD_CARD); } } } } finally { … }} catch (Exception e) { …}

Вариант решения взят со stackoverflow. Ответов там несколько примерно одинаковых.

Про дублирование

Многие замечали в директории монтирования устройств такую картину: /storage/sdcard0//storage/emulated/0//storage/emulated/legacy/
И что самое интересно, все это одна и та же внешняя карта памяти.

Такое дробление начинается с версии Jelly Bean и сделано это для поддержки многопользовательского режима работы системы. Более подробно тут. И вот, чтобы не получать одну и туже карту памяти как различные устройства, необходим способ определения идентичности.

Если бы был доступ к конфигурации монтирования, то и вопросов не было. Но доступа нет.

Поэтому я тут подсмотрел решение с расчетом хэша для каждого устройства:

  1. создаем StringBuilder
  2. записываем в него общий размер устройства и размер используемого пространства устройства
  3. обходим содержимое корня устройства
  4. записываем имя каталога
  5. записываем имя файла и размер
  6. вычисляем hash

Своя функция расчета хэша calcHashprivate int calcHash(File dir) { StringBuilder tmpHash = new StringBuilder(); tmpHash.append(dir.getTotalSpace()); tmpHash.append(dir.getUsableSpace()); File[] list = dir.listFiles(); for (File file : list) { tmpHash.append(file.getName()); if (file.isFile()) { tmpHash.append(file.length()); } } return tmpHash.toString().hashCode(); }

Пример использования

/* Получаем базовый путь */if (!mPreferences.contains(PREFS_BASEBATH)) { // Если еще не сохранялся в настройках, то пытаемся найти карты // памяти ArrayList storages = StorageHelper.getInstance() .getRemovableMountedDevices(); // проверяем съемные карты памяти if (storages.size() != 0) { setBasePath(storages.get(0).

getPath() + mAppPath); } else if ((storages = StorageHelper.getInstance() // Проверяем // внутреннюю // память .getExternalMountedDevices()).size() != 0) { setBasePath(storages.get(0).getPath() + mAppPath); }} else { // Вытаскиваем из сохранненых настроек mBasePath = mPreferences.getString(PREFS_BASEBATH, context .getFilesDir().

getParent());}

Заключение

Подробные рассуждения по этому вопросу понимания памяти в Android, некоторые советы можно прочитать тут.

Исходный код всего класса расположен еще нигде не расположен. На днях постараюсь разместить на gitHub.

Кто еще какими способами пользуется?

UPD1: Исходный код класса на bitbucket

  • android
  • разработка под android
  • sd card

Источник: https://habr.com/post/254813/

SD карта как внутренняя память Андроид

SD карта как внутренняя память Андроид. Если ваш телефон или планшет на Android 6.0 или 7 Nougat имеет разъем для подключения карты памяти, то вы можете использовать карту памяти MicroSD в качестве внутренней памяти вашего устройства, такая возможность впервые появилась именно в Android 6.0 Marshmallow.

В этой инструкции — о настройке SD карты как внутренней памяти Андроид и о том, какие ограничения и особенности при этом имеются.

Учитывайте, что некоторые устройства не поддерживают данной функции, несмотря на нужную версию андроид (Samsung Galaxy S7, LG G5, хотя и для них есть возможное решение, которое будет приведено в материале).

См. также: Как очистить внутреннюю память на Android телефоне или планшете.

Примечание: при использовании карты памяти таким образом, она не может быть использована в других устройствах — т.е. вынуть и подключить ее через кард-ридер к компьютеру получится (точнее, прочесть данные) только после полного форматирования.

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.