如果没有偶尔的拔毛经验,那就不是android编程......
目前使用模拟器...
这显然是一个新功能:
Permission Denial: opening provider com.google.android.apps.photos.contentprovider.impl.MediaContentProvider from ProcessRecord{6ebfe9e 22355:xxx/u0a140} (pid=22355, uid=10140) that is not exported from UID 10068
在所有情况下都已授予对EXTERNAL_STORAGE的访问权限。
情景:
然后在原始图片选择活动结果上尝试takePersistableUriPermission
,并抛出一个异常,表明没有可持久的权限。
编辑:好的,我已经实现了接受的答案(但只是使用了OPEN_DOCUMENT),并且不再尝试将结果URI投影到媒体路径中。所以在忏悔的行为中,我再说一次:
我永远不会尝试将URI转换为媒体商店路径。
(即使GET_CONTENT和投射曾经工作过 - 好吧,我无法帮助自己。)
答案 0 :(得分:1)
确实
使用ACTION_GET_CONTENT获得的Uries仅在您的应用运行时才有效。
如果你想坚持使用ACTION_OPEN_DOCUMENT_TREE开始uri,然后在onActivityResult中继续使用获得的权限。
看看takePersistabkeUriPermission()。
(或类似的东西)。
您不需要外部存储权限等。