アプリケーションのデフォルトファイルディレクトリ内にないアンドロイドの内部メモリにあるファイルに対してFileInputStreamを取得する方法。Androidの内部メモリファイルのFileInputStreamを取得するには?ファイルは私のカスタムフォルダ内のアプリケーションスペースに作られています
私は自分のアプリケーションスペースに新しいディレクトリを作成しました。したがってopenFileInput("filename")
はgetFilesDir()
のファイルに対してのみ機能します。そしてopenFileInput("filename")
は、パス区切り文字 "/"で引数を受け付けないので、../myfolder/に変更することができます。
FileInputStream
を取得する方法はありますか? ..
注:通常のAPIを使用するFile = new File(...)は権限拒否エラーを示します。そして私はすでに私のカスタムフォルダのアクセス許可として与えられたContext.MODE_WORLD_WRITEABLEを作成しました。
それを明確にする: 私のファイルはここに "myfolderなど" ==>Context.MODE_WORLD_WRITEABLE
パーミッションで作成されて==>/data/data/com.app.package/app_myfolder/file1.tmp
です。
をfile1.tmp
に開きます。 (通常、あなたのファイルは/data/data/com.app.package/files/file1.tmp
とgetFilesDir()
のポイントは、このディレクトリにここにいる、そうもopenFileInput("")
は、同じデフォルトのディレクトリに存在する引数を取ります。)
ああ!実際問題はファイルのアクセス許可のようです。それは-rwxrwx ---を与えます。そのため、myappはそのファイルを読み取るためのアクセス権を持ちません。 MediaStore.ACTION_IMAGE_CAPTUREインテントのstartActivityForResult()の結果として、カメラアクティビティによってファイルが作成されたためです。だから私はこのアクセス許可を変更することができます何らかの方法はありますか?カメラアプリとmyappは異なるグループに属するので – Pritam