シンプルな.txt
ファイルを Android に保存したいのですが、後でこのファイルをデバイスから、デバイスが MTP デバイスとしてマウントされている PC にコピーしたいと考えています。
私は 2 つの Android デバイスを所有しています。
- Nexus 4、ストック Android 5.0.1
- ネクサス 7 2012、CyanogenMod 12、アンドロイド 5.0.2
Nexus デバイスのバグではないことを確認するために、友人から Wiko 電話を試してみました。
このコードを使用して、ファイルを外部ストレージのダウンロード フォルダーに保存します。これは、開発者ページで推奨されています。
private void saveData()
{
String fileName = "test.txt";
String writeString = "Hello World";
File filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File saveFile = new File(filePath, fileName);
saveFile.setReadable(true);
try
{
boolean result = saveFile.createNewFile();
if(result == true)
{
Log.i(TAG, "File successfully created");
}
else
{
Log.i(TAG, "Error. File not created");
}
BufferedWriter writer = new BufferedWriter(new FileWriter(saveFile));
writer.write(writeString);
writer.close();
}
catch(Exception e)
{
Log.e(TAG,e.toString());
}
}
次の権限を使用します。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
MTP を使用してデバイスに接続すると、空のダウンロード フォルダーが作成されますが、Android のファイル ブラウザー (私の場合は ES ファイル ブラウザー) を介してフォルダーにアクセスすると、ファイルとコンテンツが表示されます。したがって、ファイルの作成と書き込みは機能すると思います。
ファイルを作成すると、「ファイルが正常に作成されました」という正しいログが表示されます。