2017-11-11 10 views
-1

私はfile:///Uri(画像)を読んで他のAppのアクティビティに送信しています。このUriは、このように私のキャッシュディレクトリに存在している:アプリケーションはどのようにしてキャッシュディレクトリからファイルを読み込むことができますか?

file:///data/user/0/com.example/cache/temp1510385678660-359616374.jpg 

第三者アプリケーション(この場合は、ギャラリーのApp)はトーストを示しは、それが提供Uriを読み込むことができませんでし意味する「メディアをロードできませんでした」。

私はテントに次のフラグを追加しました:

intent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION); 

は、なぜ私は私のウリにアクセスする方法を作ることができ、他のアプリケーションが私のウリを読み取ることができていないと?


注:(GoogleフォトアプリのへのURIを送信中にエラーにAPIに< 24のリード線を、それを使用しているので、あなたが思うなら、私はFileProviderを使用しなければならない、私は実際にAPI> = 24のためにそれを使用しています彼らのAppのバグ)。

答えて

0

これは、お使いのアプリのプライベートな内部ストレージです。他のアプリにはアクセスできません。

ファイルプロバイダを使用する必要があります。

ファイルを外部ストレージに配置しても、Android 7以降でファイルプロバイダを使用する必要があります。

関連する問題