Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непонятная смена названия директории. 
:(
    Опции темы
OlegIT
Дата 24.8.2017, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Программ с библиотекой Qt, простенький браузер. Переход по файловой системе «вверх». Наблюдаю такую последовательность.
Начало с SD карты. Читаю текущую директорию
"/storage/sdcard0"
Далее вызываю процедуру cdUp, получаю
"/storage"
Следующий вход в процедуру перехода «на верх» получаю, читая текущую директорию
"/mnt"
Почему "/storage" без видимых причин преобразуется в "/mnt"? И одна и другая директория есть и они разные.

PM MAIL   Вверх
iillyyaa2033
Дата 26.8.2017, 08:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.6.2017

Репутация: нет
Всего: нет



Насколько я помню, пользовательский раздел памяти - будь то внутренняя память или карточка - монтируется по нескольким путям и создаются симлинки, причем как именно это происходит - зависит от прошивки и версии андроида.

Один из этих путей - '/mnt/sdcard', для которого может быть создан симлинк /storage.

Это сообщение отредактировал(а) iillyyaa2033 - 26.8.2017, 08:51
PM MAIL   Вверх
OlegIT
Дата 28.8.2017, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



А можно это как то однозначно сделать? Я по условию выхода на уровень носителей делаю некие действия, в Windows всё однозначно и хорошо, а вот с Android не получается.
PM MAIL   Вверх
Hiori
Дата 29.8.2017, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 29.3.2016

Репутация: нет
Всего: нет



Цитата
Почему "/storage" без видимых причин преобразуется в "/mnt"

потому что корневой каталог носителей в андроиде всегда и был mnt, а работая с другими ссылками Вы имели дело с симлинками и Ваш код честно делает свое дело, выбираясь на папку выше.
Код

while( substr( myStr, 0, 4 ) == "/sto" )
что Вам стоит проверять примерно так? это избавит от проблем выхода за симлинк
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.1127 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.