J'ai un fichier dans le /data/data<package name>/files/settings.dat
et je veux stocker/copier ce fichier dans la carte SD, le fichier est bien lu mais en essayant de le copier sur la carte SD, j'ai un exception: sdacrd n'est pas monté. J'ai ajouté la bonne ligne au fichier androidmanifest.xml et ajouté une carte SD virtuelle dans l'émulateur. -sdcard /Users/Alaeddine/Documents/workspace/android_sdcard
code:Pas de carte SD montée lors du stockage d'un fichier dans la carte SD
public void transfer(){
File sdCard = Environment.getExternalStorageDirectory();
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
Log.d("Carburant", "Sdcard was not mounted !!");
}
else
{
File nmea_file;
File root = Environment.getExternalStorageDirectory();
FileWriter nmea_writer = null;
try {
nmea_file = new File(root,"settings.dat");
if(!nmea_file.exists()) {
Log.w("Carburant", "File Doesn't Exists!");
nmea_file.createNewFile();
}
copyfile(nom,sdCard.getAbsolutePath() + nmea_file);
}
catch (IOException e)
{
Log.w("Carburant", "Unable to write", e);
}
finally
{
if (nmea_writer != null)
{
try
{
nmea_writer.close();
}
catch (IOException e)
{
Log.w("Carburant", "Exception closing file", e);
}
}
}
}
}
Comment puis-je résoudre ce problème? Nous vous remercions de votre aide.
Etes-vous sûr que vous ne l'avez pas monté la carte SD à votre ordinateur lorsqu'il est branché et oublié de le démonter lors de l'exécution de votre application? Je fais ça parfois et je l'oublie ... Edit: Oups désolé didnt réalisé que vous utilisiez l'émulateur. Vous pouvez aller dans les paramètres de l'émulateur et vérifier que la carte SD est montée. Si cela ne fonctionne pas, recherchez et créez une carte SD virtuelle sur l'émulateur à partir de la ligne de commande. – DRiFTy
le titre de la question dit "permission refusée" mais votre texte dit "sdacrd n'est pas monté". Pouvez-vous dire exactement ce que l'erreur est s'il vous plaît? –
@ dave.c: vous avez raison, j'ai édité le titre. – androniennn