PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Problèmes avec SysRepCarteStockage()
Problèmes avec SysRepCarteStockage()
Débuté par Mat, 02 jan. 2014 12:46 - 7 réponses
Posté le 02 janvier 2014 - 12:46
Bonjour,
Je rencontre des soucis avec [code]SysRepCarteStockage()/[code]

Sur mon Sony Xpéria Z, équipé d'une carte Sd, la fonction me renvoie comme chemin : /storage/emulated/0
Et lorsque je veux copier/déplacer un fichier sur la carte SD, il est en réalité copier sur la mémoire interne du smartphone.

J'ai testé avec un autre smartphone, le dossier renvoyé est /mnt/sdcard/ et la copie sur la carte Sd fonctionne correctement.

Comment puis obtenir systematiquement quel que soit le modèle de smartphone, le chemin correct de la carte SD ?

En vous remerciant de vos eclaircissements.
Posté le 02 janvier 2014 - 15:26
Mat a écrit :
Bonjour,
Je rencontre des soucis avec
SysRepCarteStockage()


Sur mon Sony Xpéria Z, équipé d'une carte Sd, la fonction me renvoie comme chemin : /storage/emulated/0
Et lorsque je veux copier/déplacer un fichier sur la carte SD, il est en réalité copier sur la mémoire interne du smartphone.

J'ai testé avec un autre smartphone, le dossier renvoyé est /mnt/sdcard/ et la copie sur la carte Sd fonctionne correctement.

Comment puis obtenir systematiquement quel que soit le modèle de smartphone, le chemin correct de la carte SD ?

En vous remerciant de vos eclaircissements.


Après quelques recherches, je m'aperçois, que ce souci de répertoire SD différent, est dû aux différentes version android supérieures à 4.1 (ou 4.0 je ne sais pas encore) et antérieures.

pour les versions supérieures à 4.1 la fonction
SysRepCarteStockage()
renvoie /storage/emulated/0 répertoire qui ne "correspond à rien" ou du moins pas à la carte SD.
Posté le 07 mars 2014 - 01:55
Bonjour à tous,

Même problème pour moi, y a t'il une manière de palier à cela ?

Merci à vous...

Franck
Posté le 07 mars 2014 - 12:51
Bonjour Franck

je pense que le problème est relié à ça :
http://www.androidpolice.com/2014/02/17/external-blues-google-has-brought-big-changes-to-sd-cards-in-kitkat-and-even-samsung-may-be-implementing-them/

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

Plus d'information sur http://fabriceharari.com


On 3/6/2014 7:55 PM, franck B wrote:
Bonjour à tous,

Même problème pour moi, y a t'il une manière de palier à cela ?
Merci à vous...

Franck
Posté le 04 juillet 2014 - 15:32
Bonjour,
Je relance le sujet pour savoir si quelqu'un avait trouvé une solution pour la détection de la carte SD.
J'ai le même problème sur un Samsung S4: la fonction SysRepCarteStockage() ne me renvoie rien.
Merci de vos réponses
Posté le 09 juillet 2014 - 09:40
Bonjour,
J'ai transmis le problème à l'assistance windev qui dit mener des investigations, je vous donnerai leur réponse dès que possible.
En attendant, quelqu'un connait-il une fonction en java qui pourrait palier au problème?
Merci.
Posté le 30 juillet 2014 - 11:45
Bonjour,
Je vous transmet les réponses (vu avec le service assistance PC SOFT) quant à l'écriture sur une carte SD:
La fonction SysRepCarteStockage() renvoie:
- version Androïd inférieure à 4.1: le chemin de la carte SD.
- version Androïd 4.1 et inférieure à 4.3: le chemin de la mémoire interne du téléphone par défaut, cependant il est possible en modifiant les paramètres de stockage du téléphone de choisir la carte SD comme "support de stockage par défaut".
- version Androïd 4.3... : le chemin de la mémoire interne du téléphone, il n'est plus possible de connaître le chemin de la carte SD et donc d'écrire dessus.

J'espère avoir aidé ce qui comme moi on cherché longtemps une solution.
Membre enregistré
45 messages
Popularité : +2 (2 votes)
Posté le 30 mars 2016 - 11:02
Bonjour, je me permet de relancer ce sujet. Dans mon application j'aimerai pouvoir écrire sur la carte SD si il y en a une, sinon sur la mémoire interne de la tablette. J'utilise ce code, qui fonctionne bien sur ma tablette en version 5.0.2 mais ne fonctionne pas sur des tablettes en 4.2.2
chemin est une chaîne = SysRepCarteStockage() // Par défaut, chemin de stockage interne de la tablette
SI SysNbStockageExterne() > 1 ALORS //Si plus d'un stockage externe, c'est qu'il y a une carte SD
SI SysEtatStockageExterne(2) = sseDisponible ALORS //Si la carte est accessible en lecture/écriture on utilise ce chemin
chemin = SysRepStockageExterne(2, sseAppFichier)
carteSD = Vrai
FIN
FIN


La fonction SysNbStockageExterne() me renvois toujours 1 sur des tablettes avec une version d'Android 4.2.2, même si il y a une carte SD dans la tablette.
Quelle est la bonne façon pour vérifier la présence d'une carte SD et obtenir son chemin?

Merci d'avance.