Groups
Sign in
Groups
日本Androidの会
Conversations
About
Send feedback
Help
android12の「メディア管理の権限」取得について funash funash 総合スコア 0
437 views
Skip to first unread message
K Funa
unread,
Nov 6, 2022, 9:04:02 AM
11/6/22
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 日本Androidの会
現在、以前開発したandroidアプリのバージョンアップを行っています。
その中で、メディア管理の権限についてうまく動作しないため、質問させていただきます。
開発中のアプリは音楽ファイルに変更を加えるものです。
そのため、MediaStoreAPIを使用して、メディアファイルに関する権限を取得し、編集することを考えています。
android11をターゲットにした際には、CREATE_WRITE_REQUESTを呼び出すことでメディアファイルを編集することができました。
しかし、android12から搭載された「メディア管理の権限」を取得した場合、
java.io.FileNotFoundException: /storage/emulated/0/Music/filename.mp3: open failed: EACCES (Permission denied)
というエラーが発生し、編集することができません。
android11でCREATE_WRITE_REQUESTによる編集ができた状況から、android12の「メディア管理の権限」がうまく設定できていないことが原因のように思っています。
どなたか、原因がわかる方、アドバイスいただければ幸いです。
よろしくお願いします。
(「メディア管理の権限」の呼び出し)
if (!MediaStore.canManageMedia(getApplicationContext())) {
startActivityForResult(new Intent(Settings.ACTION_REQUEST_MANAGE_MEDIA).setData(Uri.parse("package:" + getPackageName())), ACTION_REQUEST_MANAGE_MEDIA_IN_LIST);
}
(実際に書き込みを行う処理)
path = "ファイルのuriを記載";
FileOutputStream fos = new FileOutputStream(path);←この時点でエラーが発生
Reply all
Reply to author
Forward
0 new messages