-1
これは私のネクサス5で動作しますが、samsungデバイスや一部のOEMデバイスでは動作しません。なぜいくつかのデバイスで、android File.delete()、File.rename()が失敗しますか?
これは私のコードです:あなたは、彼は、読み取り/書き込み権限
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,}, 1);
} else {
createTemporaryFile();
}
を受け入れた場合、ユーザーに依頼する必要があり
File f = new File(path);
if (f.exists()) {
if (f.delete()) {
MediaScannerConnection.scanFile(ctx, new String[]{path, ""}, null, null);
} else {
// Log.e(TAG, ctx.getString(R.string.unableToDelete));
}
} else { Toast.makeText(ctx,ctx.getString(R.string.fileNotFound),Toast.LENGTH_SHORT).show();
}
マニフェストに書き込み権限を追加しましたか? –
はい。 –
[The doc says:* "Filesクラスは、ファイルを削除できないときにIOExceptionをスローするdeleteメソッドを定義しています。これはエラーに便利です。なぜファイルを削除できないのかを診断することができます。 "*](https://developer.android.com/reference/java/io/File.html#delete())ので、代わりに' Files#delete'を使用してください問題をデバッグするのに役立つ 'File#delete'? – Pang