EACCESS-Berechtigung in Android verweigert
Beim Schreiben einer Datei auf eine externe SD-Karte wird eine Fehlermeldung angezeigt, dass die EACCESS-Berechtigung verweigert wurde. Ich habe die Erlaubnis gesetzt<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Aber wenn ich die Datei lese, kann ich sie erfolgreich lesen, aber nicht schreiben. Der Code, den ich zum Schreiben der Datei auf die SD-Karte verwende, lautet:
String path="mnt/extsd/Test";
try{
File myFile = new File(path, "Hello.txt"); //device.txt
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
myOutWriter.append(txtData.getText());
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),"Done writing SD "+myFile.getPath(),Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),Toast.LENGTH_SHORT).show();
System.out.println("Hello"+e.getMessage());
}
}
Der Pfad für die externe Speicherkarte lautetmnt/extsd/
. Deshalb kann ich nicht verwendenEnvironment.getExternalStorageDirectory().getAbsolutePath()
Das gibt mir einen Wegmnt/sdcard
und dieser Pfad ist für den internen Speicherpfad in meinem Tablet. Bitte schlagen Sie vor, warum dies so ist und wie ich das beheben kann