2017-04-04 10 views
0

画像ファイルをアプリケーションパスに格納しています。つまり、 "/ data/user/0/app_name"です。 Intent.ACTION_VIEWを介してギャラリーに保存した画像を開くときに、 "java.io.FileNotFoundException"や "open open:EACCES(Permission denied)"のような例外が発生しました。ギャラリーが画像を表示できません

ファイルを外部ストレージに保存していたとき、同じことがうまく機能していました。しかし、プライバシーとセキュリティのために私は自分のアプリケーションフォルダにファイルを保存する必要があります。そのために私は "getApplicationInfo()。dataDir"を使ってパスを取得しています。

私がする必要があることをお勧めします。

注:アプリケーションは権限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

の下にこの権限が付与されています。

+0

プライバシーを守るため、getFilesDir()で保存します。あなたは明らかに成功しました。ギャラリーアプリにはアクセスできません。また、あなたのアプリはgetFilesDir()のための読み書き権限を必要としません。 – greenapps

答えて

1

ファイルを専用の内部メモリに保存する場合は、FileProviderを使用してファイルを提供します。

ファイルをgetFilesDir()に格納します。

関連する問題