Как получить доступ/хранить/эмулировать/0/

Я написал код для записи аудио и сохранить его в расположении файла ниже.

private String getFilename() {
    String filepath = Environment.getExternalStorageDirectory().getPath();
    File file = new File(filepath, AUDIO_RECORDER_FOLDER);
    if (!file.exists()) {
        file.mkdirs();
    }
    return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + file_exts[currentFormat]);
}

В Logcat, это дает мне расположение файла как

/storage/emulated/0/AudioRecorder/1436854479696.mp4

Я не могу найти это местоположение файла на моей SD-карте. Как получить доступ к локации?

Ответы

Ответ 1

Как сказал Хирен, вам понадобится проводник для просмотра вашего каталога. Если вы укоренены, я настоятельно рекомендую root explorer, иначе ES File Explorer - хороший выбор.

Ответ 2

Нет необходимости в сторонних приложениях

Мой Android 6.0 позволяет мне просматривать внутреннюю память без необходимости использования сторонних приложений. Я просто делаю это *:

  1. "Настройка"
  2. "Хранение и USB"
  3. "Стажер"
  4. [пусть немного загрузится...]
  5. [прокрутите весь путь вниз]
  6. "Просматривать"

* Слова могут не соответствовать стандартной английской версии, так как я просто свободно переводю их с португальского.

Примечание. По крайней мере, в моем телефоне /storage/emulated/0 не соответствует SD-карте, а встроенной памяти. Этот метод не работал для моей внешней карты, но я никогда не пробовал его с помощью другого телефона.

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

Ответ 3

Также вы можете использовать Android Debug Bridge (adb) для копирования вашего файла с устройства Android в папку на вашем компьютере:

adb pull /storage/emulated/0/AudioRecorder/1436854479696.mp4 <folder_on_your_PC_e.g. c:/temp>

И вы можете скопировать с устройства всю папку AudioRecorder:

adb pull /storage/emulated/0/AudioRecorder <folder_on_your_PC_e.g. c:/temp>

Ответ 4

Подключите свое устройство и запустите adb shell которая выведет на ваше устройство командную оболочку. У вас нет разрешения на чтение /storage/emulated/ но, поскольку вы знаете его в подкаталоге 0, просто перейдите cd/storage/emulated/0 и вы сможете оглядываться и взаимодействовать как аспект.

Примечание. Вы также можете использовать adb беспроводным способом

Ответ 5

Попробуй это

private String getFilename() {
    String filepath = Environment.getExternalStorageDirectory().getPath();
    File file = new File(filepath + "/AudioRecorder" );
    if (!file.exists()) {
        file.mkdirs();
    }
    return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + ".mp4");
}

Ответ 6

В эмуляторе для просмотра этого файла нажмите "Настройки"> "Хранение"> "Другие"> "Android"> "данные"> com.companyname.textapp> file> Загрузить. Здесь textapp - это имя приложения, над которым вы работаете.

Ответ 7

Здесь он находится в /mnt/shell/emulated/0

Ответ 8

если вы используете Android-монитор устройства и эмулятор Android: я получил доступ к следующему пути: Data/Media/0/enter image description here

Ответ 9

Попробуйте

ftp://ip_my_s5:2221/mnt/sdcard/Pictures/Screenshots

которые указывают на /storage/emulated/0

Ответ 10

В моем случае /storage/emulated/0/соответствует корневому пути моего устройства. Например, когда я снимаю фотографию с помощью приложения камеры по умолчанию для телефона, изображения сохраняются автоматически /store/emulated/0/DCIM/Camera/mypicname.jpeg

Например, предположим, что вы хотите сохранить свои фотографии в каталоге /Pictures, а именно в каталоге Pictures, которые существуют в корневом каталоге. Таким образом, вы используете приведенный ниже код.

File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES );

Если вы хотите сохранить изображения в каталоге DCIM или Downloads, дайте приведенные ниже аргументы методу Environment.getExternalStoragePublicDirectory(), показанному выше.

Environment.DIRECTORY_DCIM
Environment.DIRECTORY_Downloads

Затем укажите название изображения:

String imageFileName = "JPEG_" + timeStamp + "_";

Затем создайте объект файла, как показано ниже. Вы указываете суффикс как второй аргумент.

File image = File.createTempFile(
            imageFileName,  // prefix
            ".jpg",         // suffix
            storageDir      // directory
);

Ответ 11

Android рекомендует вызывать Environment.getExternalStorageDirectory.getPath() вместо /sdcard/ в имени пути. Это возвращает основной общий/внешний каталог хранилища. Таким образом, если хранилище эмулируется, это вернет /storage/emulated/0 сохранит /storage/emulated/0. Если вы изучите хранилище устройств с помощью проводника файлов, указанный каталог будет /mnt/sdcard (подтвержден на Xperia Z2 под управлением Android 6).

Ответ 12

Чтобы возобновить ваши снимки с /storage/emulated/0/, просто откройте файл 100Andro. Там вы увидите свои фотографии, хотя у вас может не быть доступа к ним в вашем pc explorer. Открывайте каждое изображение один за другим, продолжайте настройку (три точки...) и сохраните изображение. Он появится в файле android "Картинки", где вы также можете скопировать их с помощью своего проводника. Нет функции "сохранить все", однако это нужно делать один за другим, но это работает.

QT

Ответ 13

https://productforums.google.com/forum/#!msg/nexus/WIcHUNQfRLU/ALpViG86AwAJ

Г-н Дорогие игрушки сказал: "Я удивлен, что эта проблема все еще появляется, поскольку она начала происходить еще в сотовое.

Таким образом, /storage/emulated/0/DCIM/Camera является той же папкой, что и обычная папка DCIM/Camera. Это просто символическая ссылка. Таким образом, файлы на самом деле находятся в правильном месте, у вас просто есть приложение, которое помещает плохие данные в базу данных MediaStore.

При доступе к файлам с вашего ПК вы фактически перечисляете базу данных MediaStorage для файлов. Его не тянет традиционные списки каталогов. Итак, что вы видите, зависит от того, что находится в этой базе данных и записей пути в базе данных. Файлы в базе данных, указывающие на эмулированные каталоги, не отображаются, поскольку предполагается, что они дублируются как их один и тот же физический каталог, что и ваш обычный DCIM/Camera. Что происходит, так это то, что некоторые плохо написанные сторонние приложения вставляют записи в базу данных с использованием /storage/emulated/0/DCIM/Camera path вместо правильного корневого пути к DCIM/Camera. Это означает, что служба MTP не может их видеть, когда вы подключены к компьютеру.

Обычно самый простой способ исправить проблему - просто очистить базы данных MediaStore, чтобы получить плохие записи из базы данных MediaStore и позволить системе переиндексировать файлы и поместить в базу данных правильные пути.

Settings-> приложения Нажмите 3-точечное меню в правом верхнем углу и выберите "Показать систему", "Сохранить носитель", "Выбрать", "Выбрать хранилище", затем "Очистить данные", "Найти внешние хранилища", "Выбрать", "Выбрать хранилище", "Очистить данные". Отключить телефон,, подождите, пока служба индексатора перестроит данные.

Когда вы закончите, файлы должны отображаться с правильным деревом каталогов и быть видимыми с ПК. В зависимости от количества файлов на телефоне может потребоваться 10-20 минут для восстановления базы данных мультимедиа, поскольку служба ходит по телефонным справочникам, получает метаданные, создает миниатюры и т.д.

Ответ 15

Как насчет Android 9 для Samsung Galaxy 10? Как я могу хранить или передавать медиа файлы на SD-карту? Как получить доступ к загруженным документам и просмотреть в автономном режиме? Я не могу найти свои загруженные документы в файлах эмулятора.

Ответ 16

Использование команды//получить каталог файлов

Image image =new Image() { Source = file.Path };

затем в команде adb pull//путь файла изображения здесь