2016-07-03 2 views
2

다른 응용 프로그램에서 사용할 수있는 파일을 만들어야합니다 (예 : .txt). 나는 여러 가지 방법을 시도했지만 아무 것도 도움이되지 않았습니다. 파일이 생성되었지만 파일 관리자 (예 : 총 사령관)가 파일을 볼 수 없습니다.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-they-are-visibl – CommonsWare

+0

좋아요. 미디어 스캐너를 추가했지만 도움이되지 않았습니다. 이유를 모르겠습니다. – 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

관련 문제