У меня проблема с моим кодом, который должен записать некоторую строку данных в мою SDCard.я использую класс, чтобы сделать это:
public class CVS {
private String path;
private String filename;
private File dir;
private File file;
private FileWriter fw;
public CVS() {
path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/traffic/";
filename = "data.cvs";
file = new File(path, filename);
createDir();
}
private void createDir() {
dir = new File(path);
if(!dir.exists()) {
if(file.mkdirs() == false) {
Log.d(Config.LOGTAG, "UHOH!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
else Log.d(Config.LOGTAG, "dir exists");
}
public void writeToFile(String data) {
try {
fw = new FileWriter(file);
fw.append(data); Log.d(Config.LOGTAG, "data saved to file...");
}
catch(Exception e) {
Log.d(Config.LOGTAG, "file: " + e.getMessage());
}
}
}
это приводит ВСЕГДА к исключению, пойманному в writeToFile (), говоря "разрешение отказано".на самом деле, я установил права на WRITE_EXTERNAL_STORAGE в манифесте.Итак - что я делаю не так!?
дополнительная информация: реальное устройство с установленной SD-картой.нет эмулятора.Android 2.2.если я сам создаю каталог, проблема не исчезнет: (