2016-03-25 24 views
3

android.support.v4.content.FileProviderを使用している場合、アクセス許可のライフサイクルについて不思議です。 FileProviderのドキュメントは言う:FileProvider - アクセス許可

はアンドロイドを設定します。grantUriPermissionsは、ファイルへの一時的なアクセス権を付与できるようにするために、属性をtrueに。

パーミッションインテントに付与

そして受信アクティビティのスタックがアクティブである間有効のまま。スタックが終了すると、パーミッションは自動的に削除されます。クライアントアプリケーションの1つのアクティビティに付与された権限は、そのアプリの他のコンポーネントに自動的に拡張されます。

しかし、他の側に、providersのドキュメントは言う:

この機能を有効にした場合、いずれかの「真」またはサブ要素を定義することで、この属性を設定することで、あなたは(Context.revokeUriPermissionを呼び出す必要があります)、カバーされたURIがプロバイダから削除されたとき。

質問:「受信アクティビティのスタック」とは何ですか?バックスタック(履歴)ですか?いいえの場合は、いつ許可を取り消すべきですか(またはシステムがそれを気にするのはいつですか)?

+0

スタックがスタックされています。提供者のカバーされたUriを削除するときにpermissonを取り消す必要があります。 –

答えて

0

私はこれを見ると、スタックはアプリケーション内のスタックで、ファイルを使用します。それは外部の活動かもしれません。あなたが第三者のアプリケーションによってファイルを開く場合、または自分の活動が重要でない場合に備えて、それは可能性があります。このファイルをもう共有する必要がないので、すぐに権限を取り消す必要があります。

関連する問題