Comment obtenir les documents dans un android répertoire que PhoneGap verrez
Je voudrais être en mesure de copier quelques fichiers dans mon PhoneGap /Cordova du répertoire Documents, de sorte qu'ils s'affichent lorsque j'utilise le cordova-plugin-fichier API à la liste du répertoire. Malheureusement, il semble y avoir une déconnexion entre le fichier API et ce qui est réellement posé sur la tablette de rangement. Voici ce que le Fichier plugin spec dit que le système de structure de répertoire devrait ressembler à:
Android Système De Fichiers De Mise En Page
file:///android_asset/
| cordova.fichier.applicationDirectoryfile:///android_asset/data/data/<app-id>/
| cordova.fichier.applicationStorageDirectoryfile:///android_asset/data/data/<app-id>/cache
| cordova.fichier.cacheDirectoryfile:///android_asset/data/data/<app-id>/files
| cordova.fichier.dataDirectoryfile:///android_asset/data/data/<app-id>/Documents
| cordova.fichier.documents<sdcard>/
| cordova.fichier.externalRootDirectory<sdcard>/Android/data/<app-id>/
| cordova.fichier.externalApplicationStorageDirectory<sdcard>/Android/data/<app-id>/cache
| cordova.fichier.externalCacheDirectry<sdcard>/Android/data/<app-id>/files
| cordova.fichier.externalDataDirectory
Malheureusement, je ne vois pas ce lorsque je branche mon appareil (4.4.2 /Lenovo tablette) dans mon PC ou Mac. Au lieu de cela, je vois:
- Internal Storage
|- .IdeaDesktopHD
|- .lelauncher
|- .magic
|- .powercenterhd
|- Alarms
|- Android
|- Audio
|- Bluetooth
|- Contact
|- data
|- DCIM
|- Document
|- Download
|- googleota
|- legc
|- LenovoReaper
|- LesyncDownload
|- Movies
|- MyFavorite
|- Notifications
|- Others
|- Pictures
|- Podcasts
|- powercenterhd
|- Ringtones
|- SHAREit
Aucune idée de l'endroit où je devrais être la copie des fichiers, de sorte que mon application puisse les voir?
OriginalL'auteur eb1 | 2015-04-16
Vous devez vous connecter pour publier un commentaire.
Bien maintenant. Une partie de mon problème est que j'ai appris un peu par la nature asynchrone du système de fichiers /cordova-plugin-fichier API sur cordova. J'ai eu à faire un peu de code refactoring pour obtenir la liste des fichiers à afficher correctement, mais une fois que je l'ai fait, les fichiers qui s'affichent correctement, peu importe où ils ont été sur l'appareil.
Voici le code applicable. Notez que vous aurez besoin de la cordova-plugin-fichier ajouté à votre Cordova/PhoneGap projet, et qu'il ne fonctionnera pas dans le navigateur. En fait, j'ai ce bloc à l'intérieur d'un autre if/then bloc-si elle s'exécute dans un navigateur, afficher le html5
<input type=file>
, si elle est dans un appareil mobile, montrer ce bloc:ÉDITION (Février 2018): même si vous pouvez voir les fichiers de Transfert de Fichiers Android, vous ne pourriez pas obtenir tout résultats par programme, même si vous avez le temps de construction des autorisations définies dans votre application Cordova. Cela est dû à runtime des contrôles d'autorisation ajouté à Android (je crois > 6.0). Il y a quelques plugins qui peuvent aider à obtenir autour de ce; à un certain point, je suppose que le fichier plugin va ajouter automatiquement les demandes d'elle ainsi. Voici ce que j'ai fait que de Cordoue
cli-7.0.1
:Dans votre config.xml, ensemble la nécessaire application des autorisations. Vous aurez besoin READ_EXTERNAL_STORAGE (et écrire aussi bien, si vous vous apprêtez à le faire). Je suis également l'ajout de deux plugins qui sont référencés ci-dessous:
Alors, de préférence quelque part dans votre application code de démarrage (c'est à dire, le gestionnaire de l'appareil prêt événement), vérifiez l'exécution des autorisations et les ajouter si nécessaire:
OriginalL'auteur eb1
J'ai ce pour Angularjs. Mais je vais avoir des problèmes avec cela. Si vous exécutez ce que vous trouverez que la sortie sont reeturned plus d'une fois quand j'appelle cela aussi la promesse ne semble pas fonctionner correctement. mais ça marche avec rappel mais jusqu'serait de retour muitple fois et il n'y aurait aucun moyen de savoir quand le fichier complet de la traversée à l'est terminée.
OriginalL'auteur siddharth chandra