2011-11-10 5 views
4

Android用アプリケーションを開発しました。Androidが世界の読み取り可能な権利を持つ内部ストレージにファイルを作成

私は法と内部ストレージ内のファイルを格納します。

getDir("myfolder", Context.MODE_WORLD_READABLE) 

その後、私はファイルを作成します。

File myFile = new File("myFile"); 
myFile.createNewFile(); 

しかし、私は「ファイルエクスプローラ」または「ADBと私の内部ストレージを(エクスプローラ")" myFile "は作成されていますが、" myFolder "と同じ権利はありません。

drwxrwxr-x app_88 app_88   2011-11-10 15:39 myFolder 
-rw------- app_88 app_88   0 2011-11-10 15:39 myFile 

In Fil e APIでは、私と世界に読めるように設定できる "setReadable"メソッドがありますが、このメソッドはAPIレベル9のみであり、APIレベル7以上で開発しています。

私はADBまたはファイルエクスプローラのおかげで、ファイル "myFile"を読み取る権限がないので、ここで問題になります。 「Permission denied」というエラーが表示され、リスクのためにデバイスを「ルート」したくありません。

助けが必要ですか?

答えて

1

私はあなたがファイルに同じことを行うことができると思います。ファイルは、アプリケーションの `files`をサブディレクトリに格納されていること (APIレベル1以降で利用可能)http://developer.android.com/reference/android/content/Context.html#openFileOutput%28java.lang.String,%20int%29

HTH

+0

注意。 'context.getFilesDir()'によって返される同じディレクトリです。 –

+0

サブディレクトリを使用する場合はこれが機能しません –

関連する問題