Невозможно получить данные локальной файловой системы на Android устройствах с приложением Expo - PullRequest
0 голосов
/ 18 июня 2020

При использовании нашего приложения в разработке с Expo, приведенный ниже код возвращает массив результатов, как и ожидалось. Этот же код также работает с опубликованным приложением iOS.

Однако опубликованное приложение Android не будет возвращать никаких результатов из этого кода. Похоже, что ничего не обнаруживает в файловой системе. Мы застряли.

import * as FileSystem from 'expo-file-system';
export const fetchLocalMaps = (resolve, reject) => {
  let localMaps = [];
  FileSystem.readDirectoryAsync(
    FileSystem.documentDirectory
  ).then(folders => {
    //console.log("folders :: fetchLocalMaps :: ",folders);
    let totalFolderCount = folders.length;
    let loadedFolderCount = 0;
    folders.forEach((folder) => {
      FileSystem.readDirectoryAsync(
        FileSystem.documentDirectory + folder
      ).then(files => {
        //console.log(folder, files);
        FileSystem.readAsStringAsync(FileSystem.documentDirectory + folder + "/" + files[files.indexOf('info.data')]).then(content => {
          content = JSON.parse(content);
          localMaps.push({
            id: folder,
            title: content.title,
            _links: content._links
          });
          loadedFolderCount += 1;
          if(loadedFolderCount == totalFolderCount) {
            resolve(localMaps);
          }
        }).catch(error => reject(error));
      }).catch(error => reject(error));
    });
  }).catch(error => {
    reject(error);
  });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...