ファイルブラウザでオーディオファイルを選択/共有した後、オーディオファイルを再生しようとしました。これを行うには、私はオーディオファイルのUriを取得するために、フィルタインテントを使用します。ウリに基づいて私はそれをプレイすることができます。 UriはMediaPlayerがFileDescriptorを開くために使用します。デフォルトの「ダウンロード」アプリから共有されるファイルに一時的なアクセス許可はありますか?
私はUriを保存するので、アプリを再起動してから使用できます。これは、アンドロイドのデフォルトのダウンロードアプリを除くすべてのファイルブラウザで動作します。ダウンロードアプリからファイルを開くと、私はウリを次のように受け取ります。
私はそれを再生できます。しかし、アプリケーションが再起動した後、私はもはや同じuriを再生することはできません。この権限についてdocsから
java.lang.SecurityException: Permission Denial:
opening provider com.android.providers.downloads.DownloadStorageProvider from
ProcessRecord{160760b 3618:com.sample/u0a71} (pid=3618, uid=10071)
requires android.permission.MANAGE_DOCUMENTS or android.permission.MANAGE_DOCUMENTS
:私は例外を取得
この権限は唯一のプラットフォームの文書 管理アプリによって要求されなければなりません。この権限はサードパーティ製のアプリケーションには付与できません。
これは、アプリケーションが一時的なファイルアクセス権を持っているということですか?これには何か解決策はありますか?