私のAndroidアプリでは、読み取り専用ファイルをコピーして、新しいバージョンも読み取り専用にしたいと考えています。Androidでファイルをコピーして読み取り専用属性を保持するにはどうすればよいですか?
宛先ファイルでsetReadOnly()メソッドを使用すると、失敗したことを示すfalseが返されます。もちろん、ファイル自体をチェックすると、読み取り専用属性が設定されていないことが示されます。
--edit--デビッドギブンが以下に示唆するように、これはSDカードのファイルにのみ適用されます。内部ファイルはsetReadOnly()で適切に動作します。
私のマニフェストファイルには、<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
という行があり、私のアプリケーションでは、あらゆる種類の他のファイル操作を正常に実行できます。
私はLinuxコマンドを使用している人の数人を見てきましたが、これは「汚い」方法であると言いました。 ?
私が書いているアプリは、Android 2.1を使用しています(該当する場合)。
もう一度チェックしましたが、これはエミュレータのSDカードでのみ実行しようとしていました。実際のデバイスを使用すると、/ mntフォルダにコピーされたファイルに対してsetReadOnly()が正常に使用されています(これはemuでのみ読み込まれます)。ありがとう。 – tabs
SDカードで動作するかどうかをzxswingの提案で確認します。そうでない場合は、あなたの答えを正しいものとしてマークします。 – tabs