2016-07-03 14 views
2

Ich muss eine Datei erstellen, die für andere Apps verfügbar ist, z. B. .txt; Ich habe viele Wege ausprobiert, aber nichts half; Datei wird erstellt, aber der Dateimanager (z. B. Total Commander) sieht sie nicht; Ich habe dies:
Wie erstellt man eine Datei für andere Anwendungen in Android?

String filename = mTitle.getText().toString().trim() + ".txt"; 
     String string = mContent.getText().toString().trim(); 
     FileOutputStream outputStream; 
     File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), filename); 
     file.mkdirs(); 
     file.setReadable(true); 
     try { 
      outputStream = openFileOutput(file.getName(), MODE_WORLD_READABLE); 
      outputStream.write(string.getBytes()); 
      outputStream.close(); 
      Toast.makeText(getApplicationContext(), file.getAbsolutePath(), Toast.LENGTH_LONG).show(); 
      MediaScannerConnection.scanFile(
        getApplicationContext(), 
        new String[]{file.getAbsolutePath()}, 
        null, 
        new MediaScannerConnection.OnScanCompletedListener() { 
         @Override 
         public void onScanCompleted(String path, Uri uri) { 
          Log.v("grokkingandroid", 
            "file " + path + " was scanned seccessfully: " + uri); 
         } 
        }); 
      new SingleMediaScanner(this, file); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 


ich alle Berechtigungen bestellt. Danke!

+1

https://stackoverflow.com/questions/32789157/how-to-write-files-to-external-public-storage-in -android-so-dass-sie-sind-sichtbar – CommonsWare

+0

Ok. Ich habe einen Medienscanner hinzugefügt, aber es hat nicht geholfen, ich verstehe nicht warum? – Georgi

Antwort

0

ersetzen:

openFileOutput(file.getName(), MODE_WORLD_READABLE); 

mit:

new FileOutputStream(file); 
+0

Ich versuche es. Nun, dieses Problem: java.io.FileNotFoundException: /storage/emulated/0/Download/titlexgxgzrRZZTZ.txt: Öffnen fehlgeschlagen: EACCES (Berechtigung verweigert). alle Berechtigungen: WRITE_EXTERNAL_STORAGE und READ_EXTERNAL_STORAGE geschrieben – Georgi

+0

@Georgi: Versuchen Sie http://Stackoverflow.com/questions/32635704/android-permission-doesnt-work-even-ifi-i-have-declared-it – CommonsWare

+0

Vielen Dank! Ich habe das Problem gelöst:) – Georgi