Hallo,
habe folgendes Problem und kann es mir nicht erklären.
Ich verändere nichts, bis auf das Handy, einmal S3 mini mit sd( schreibt aber auf internen Speicher) und einmal S6 ohne sd nur mit internen Speicher.
Auf dem S3 läuft es wie gewünscht, die Datei wird gespeichert, auf dem S6 sagt er permission denied. Woran kann das liegen? Fehler ist in Zeile 14.
public void exportDB1(View v) {
File database1 = getDatabasePath("shopping_list1.db");
ShoppingMemoDbHelper1 ShoppingDbHelper1 = new ShoppingMemoDbHelper1(getApplicationContext());
File exportDir = new File(Environment.getExternalStorageDirectory()+"/Download/","");
if (!exportDir.exists()) {
exportDir.mkdirs();
}
File file = new File(exportDir,"csvname.csv");
try {
file.createNewFile();
CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
SQLiteDatabase db = ShoppingDbHelper1.getReadableDatabase();
Cursor curCSV = db.rawQuery("SELECT * FROM shopping_list1",null);
csvWrite.writeNext(curCSV.getColumnNames());
while (curCSV.moveToNext()) {
//Which column you want to exprort
String arrStr[] = {curCSV.getString(0),curCSV.getString(1),curCSV.getString(2),curCSV.getString(3)};
csvWrite.writeNext(arrStr);
}
csvWrite.close();
curCSV.close();
Alles anzeigen
Fehlermeldung: Fehler in 237 [tt
30912-30912/com.example.josh.per E/MainActivity: Permission denied
java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively0(Native Method)
at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:280)
at java.io.File.createNewFile(File.java:948)
at com.example.josh.per.ENGRUN.exportDB1(ENGRUN.java:237)
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
at android.view.View.performClick(View.java:6199)
at android.widget.TextView.performClick(TextView.java:11090)
at android.view.View$PerformClick.run(View.java:23647)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
][/tt]