3

私のAndroidアプリでは、読み取り専用ファイルをコピーして、新しいバージョンも読み取り専用にできるようにしたいと考えています。

宛先ファイルでsetReadOnly()メソッドを使用すると、falseが返され、失敗したことが示されます。もちろん、ファイル自体をチェックすると、読み取り専用属性が設定されていないことが示されます。

--編集--DavidGivenが以下に示唆しているように、これはSDカード上のファイルにのみ適用されます。内部ファイルはsetReadOnly()で適切に動作します。

マニフェストファイルに行が<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />あり、アプリで他のあらゆる種類のファイル操作を正常に実行できます。

解決策を探しているときに、Linuxコマンドを使用している人を何人か見ましたが、これは「汚い」方法だと言われました。代わりの「クリーンな」方法がありますか?

私が書いているアプリは、関連する場合はAndroid2.1を使用しています。

4

1 に答える 1

1

SD カードがこのようなファイル属性をサポートしているとは思えません。内部ストレージではファイルを読み取り専用にすることしかできないと思います。(SD カードは FAT ファイル システムを使用しますが、内部ストレージは適切な Linux ファイル システムを使用するためです。)

の結果をチェックして、またはsetReadOnly()を返しているかどうかを確認します。truefalse

于 2012-03-02T11:27:25.990 に答える