2013-01-02 5 views
2

Mon application doit télécharger certains fichiers dans le cache. mais je voulais vérifier si l'utilisateur avait SDcard installé afin que je puisse enregistrer des fichiers là au lieu de la mémoire de l'appareil. je l'ai utilisé ce code:Vérifiez si la carte SD est disponible

String SDexist = "file:///SDCard/"; 

    fconnSD = (FileConnection) Connector.open(SDexist,Connector.READ); 

    if(!fconnSD.exists()) 
    { 
     FileDire = "file:///store/home/user/catch/"; 
    } else 
    { 
     FileDire = "file:///SDCard/BlackBerry/catch/"; 
    } 

mais cela ne fonctionne pas, il semble AllWays pour carte SD et non enregistrement des fichiers dans la mémoire de l'appareil même si la carte SD est disponible. Des idées?

+0

Probablement le '' file: /// SDCard/"' est juste le dossier sur lequel la carte SD est montée. Peut-être utiliser un autre appel API, ou trouver un fichier qui est toujours sur la carte SD. –

+1

@owlstead Vous avez raison, c'est juste un répertoire monté. J'ai utilisé une autre méthode, lisez 'FileSystemRegistry.listRoots()' et recherchez si la chaîne de sdcard existe dans la racine. Cela fonctionne maintenant, merci. – Alamri

Répondre

4

Résolu, j'ai utilisé FileSystemRegistry.listRoots(); Et lisez les messages root, si la carte SD existe, alors la carte SD doit être installée.

Questions connexes