赞
踩
原因是从 Android 13 开始,如果你的应用程序 targetSdk 指定到了 33 或以上,那么 READ_EXTRERNAL_STORGE 权限就完全失去了作用,申请它将不会产生任何效果。
与此相对应的,Google 新增了 READ_MEDIA_IMAGES、READ_MEDIA_VIDEO 和 READ_MEDIA_AUDIO 这三个运行时权限,分别用于管理手机的照片、视频和音频文件。以前只要申请 READ_EXTRERNAL_STORGE 权限就可以了,现在不行了,得按需申请。用户从而能够更加精细地了解你的应用到底申请了哪些媒体权限。
参考 https://www.cnblogs.com/joy99/p/17809113.html
解决方法: 手动从命令行去强制获取权限。
对应用程序授予所有的运行时的权限
$ adb install -g xxx.apk
对于某些权限,如“MANAGE_EXTERNAL_STORAGE”无法使用“-g”授予的,可以使用如下命令
$ adb shell appops set --uid com.company.name MANAGE_EXTERNAL_STORAGE allow
还可以使用如下命令单独授予应用程序某一个权限,但是“MANAGE_EXTERNAL_STORAGE”无法授予权限
$ adb shell pm grant com.comany.name android.permission.CAMERA
ps -A | grep vlc
cat /proc/pid/status
通过上面的获取到每个user的uid。然后使用下面的命令赋值每个屏幕的vlc应用的权限。
appops set --uid 1110125 MANAGE_EXTERNAL_STORAGE allow
appops set --uid 1010125 MANAGE_EXTERNAL_STORAGE allow
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。