Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
#1

Не виден файл сохраненный в /storage/emulated/0/papka - Программирование Android

10.11.2016, 15:01. Просмотров 1358. Ответов 8
Метки нет (Все метки)

До сего дня я был уверен что файл сохраненный /storage/emulated/0/papka/foto.jpg будет виден во внутренней (доступной через подключение по usb) памяти в папке papka и так и было пока не сменил смартфон теперь при сохранении файл сохраняется по этому же пути, но при подключении смартфона такой файл в памяти не найти и папки нет. Не понимаю что происходит. Программа одна и та же код сохранения не менялся................ мистика. Есть слабое предположение что может он сохраняет на втором смартфоне во внутреннюю память доступную только программе . Но вот код
Java
1
2
3
 String sdState = android.os.Environment.getExternalStorageState();
            if (sdState.equals(android.os.Environment.MEDIA_MOUNTED)) {
                File sdDir = android.os.Environment.getExternalStorageDirectory();
и явно видно что речь об общедоступной памяти

уточнение на втором смарте sd карты нет, на первом на котором все работало карта была , но сохранение шло в общедоступную память телефона (не на карту)

Добавлено через 12 минут
при просмотре через фаловый менеджер смартфона и папка и файл видны во внутренней памяти. НО при подключении к компу папка с файлом не видна
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ExFau$t
249 / 224 / 42
Регистрация: 08.05.2012
Сообщений: 1,226
10.11.2016, 15:14     Не виден файл сохраненный в /storage/emulated/0/papka #2
MediaScannerConnection нужно добавить. Гугли особенности MTP.
Java
1
2
3
4
5
6
7
8
 MediaScannerConnection.scanFile(context,
new String[]{saveDir.toString()}, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
        Log.i("ExternalStorage", "Scanned " + path + ":");
        Log.i("ExternalStorage", "-> uri=" + uri);
}
});
Добавлено через 8 минут
Если коротко, устройство android это не флешка, так что тут нет ничего удивительного.
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
10.11.2016, 15:24  [ТС]     Не виден файл сохраненный в /storage/emulated/0/papka #3
файл и папка нашлись - оказалось нужна перезагрузка смартфона. Получается теперь сделав фото нужно каждый раз перезагружать смартфон??
Nerr
1 / 1 / 0
Регистрация: 08.06.2013
Сообщений: 53
10.11.2016, 15:24     Не виден файл сохраненный в /storage/emulated/0/papka #4
Environment.getExternalStorageDirectory() возвращает путь до сд-карты. На всех телефонах, кроме некоторых моделей Samsung. На самсунгах этом метод будет возвращать путь /storage/emulated/0/, то есть к внутренней памяти телефона.
Первый телефон у вас был видимо самсунгом и вы сохраняли файл во внутренню память, а второй сохраняет файлы на сд-карту, которой у вас нет.
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
10.11.2016, 15:36  [ТС]     Не виден файл сохраненный в /storage/emulated/0/papka #5
Пытаюсь понять, гуглю, но если не трудно то пожалуйста , объясните этот код

Добавлено через 3 минуты
Да верно первый Samsung второй Asus. Вы уверены что до sd карточки путь? Если да то как получить путь к видимой внутренней памяти.

Файл и папка нашлись. Они созранились и на Asus но стали видны ТОЛЬКО ПОСЛЕ ПЕРЕЗАГРУЗКИ смартфона

Добавлено через 4 минуты
MediaScannerConnection - файлы не только фото. Забыл сказать еще и *.txt
ExFau$t
249 / 224 / 42
Регистрация: 08.05.2012
Сообщений: 1,226
10.11.2016, 15:52     Не виден файл сохраненный в /storage/emulated/0/papka #6
Star2016, не имеет значения
Nerr
1 / 1 / 0
Регистрация: 08.06.2013
Сообщений: 53
10.11.2016, 15:54     Не виден файл сохраненный в /storage/emulated/0/papka #7
Цитата Сообщение от Star2016 Посмотреть сообщение
Вы уверены что до sd карточки путь?
Уверен. External переводится как "внешний".
Цитата Сообщение от Star2016 Посмотреть сообщение
Если да то как получить путь к видимой внутренней памяти
Самому интересно. А еще интереснее, как в Самсунгах получить путь к сд-карте
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
10.11.2016, 17:20  [ТС]     Не виден файл сохраненный в /storage/emulated/0/papka #8
почему же тогда на asus файл записался во внутреннюю при пути, как вы считаете, к sd?

Добавлено через 12 минут
А может быть проще всю память сразу обновить? Это возможно? Или это займет много времени?

Добавлено через 1 час 6 минут

проблема решена с помощью - MediaScannerConnection.scanFile
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2016, 19:35     Не виден файл сохраненный в /storage/emulated/0/papka
Еще ссылки по теме:
Turbo Pascal Не открывает сохраненный файл
MS Excel Не могу найти сохраненный файл
Прочитать файл, сохраненный в любой кодировке C#
Сохраненный файл не открывается,не определяется кодировка C++ Qt
C# Сохраненный файл занят другим процессом

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ExFau$t
249 / 224 / 42
Регистрация: 08.05.2012
Сообщений: 1,226
10.11.2016, 19:35     Не виден файл сохраненный в /storage/emulated/0/papka #9
Nerr, не морочь голову человеку, .getExternalStorageDirectory() путь к внешней памяти телефона, а не обязательно к флешке.
Note: don't be confused by the word "external" here. This directory can better be thought as media/shared storage. It is a filesystem that can hold a relatively large amount of data and that is shared across all applications (does not enforce permissions). Traditionally this is an SD card, but it may also be implemented as built-in storage in a device that is distinct from the protected internal storage and can be mounted as a filesystem on a computer.
Yandex
Объявления
10.11.2016, 19:35     Не виден файл сохраненный в /storage/emulated/0/papka
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru