Androidアプリを作っていて、データをファイルに保存、USBでAndroidをつないでファイルを取り出そうとすると..ない
で困ったのでメモ
Android端末は Nexus 5 (Lolipop) と Nexus 5x (Marshmallow) を使いました
PCはWindows 7とUbuntu 14.4
Android端末でデバッグしてます
ファイルを書きだしたソースコードはこんな感じ
File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
fw = new FileWriter(file, true);
fw.write("sample");
fw.close();
マニフェストにパーミッションを追加
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sample">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application>
・・・・
</application>
</manifest>
External StrorageのDocumentsディレクトリを指定、ここに保存したらどこからでも見れるはず
Android端末でアプリを使って見てみるとちゃんと保存されてますが、
PCへUSBでつないで見ると見当たりません
MediaScannerConnectionを使ってやると見えるようになるようで、変更
File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
MediaScannerConnection.scanFile(this, new String[]{file.getAbsolutePath()}, null, null);
fw = new FileWriter(file, true);
fw.write("sample");
fw.close();
これで見えるようになりました!