2016-07-03 5 views
2

Мне нужно создать файл, доступный для других приложений, например .txt; Я пробовал много способов, но ничего не помогло; Файл создается, но диспетчер файлов (например, total commander) не видит его; У меня есть это:
Как создать файл, доступный для других приложений в 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(); 
     } 


Я заказал все разрешения. Спасибо!

+1

https://stackoverflow.com/questions/32789157/how-to-write-files-to-external-public-storage-in -android-so-that-they-are-visibl – CommonsWare

+0

Ok. Я добавил медиа-сканер, но это не помогло, я не понимаю, почему? – Georgi

ответ

0

Заменить:

openFileOutput(file.getName(), MODE_WORLD_READABLE); 

с:

new FileOutputStream(file); 
+0

Я стараюсь. Теперь эта проблема: java.io.FileNotFoundException: /storage/emulated/0/Download/titlexgxgzrRZZTZ.txt: open failed: EACCES (Permission denied). все разрешения: WRITE_EXTERNAL_STORAGE и READ_EXTERNAL_STORAGE, написанные – Georgi

+0

@Georgi: Попробуйте http://stackoverflow.com/questions/32635704/android-permission-doesnt-work-even-if-i-have-declared-it – CommonsWare

+0

Спасибо! Я решил проблему :) – Georgi

 Смежные вопросы

  • Нет связанных вопросов^_^