既然google play store拒绝管理外部存储权限,那么针对android 11设备的替代方法是什么

niknxzdl  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(1833)

我最近在play store上发布了我的应用程序的更新,该应用程序使用manage_external_storage权限针对android 11设备,但play store拒绝了更新,要求我使用“所有文件访问”权限以外的其他权限。我不知道还有什么选择?他们提出了一些隐私友好的做法,如存储访问框架或媒体存储api。有人能帮忙吗?
我已经尝试过:字符串getpath=getcontext().getexternalfilesdir(null.getabsolutepath();
字符串targetpath=getpath.substring(0,19)+“/android/media/com.whatsapp/whatsapp/media/.status”;
文件targetdirector=新文件(targetpath);
file[]allfiles=targetdirector.listfiles();
但它不起作用。它返回的是=>allfiles.length=0(也就是说,它无法读取或获取任何状态)

shyt4zoc

shyt4zoc1#

您可以设置targetsdkversion 29并测试代码

fnatzsnv

fnatzsnv2#

google play限制使用高风险或敏感权限,包括名为“所有文件访问”的特殊应用程序访问。这仅适用于针对android 11(api级别30)并声明manage_external_storage权限的应用程序,该权限是在android 11中添加的。此外,此策略不会影响read_external_storage权限的使用。
如果您的应用不需要访问manage_external_storage权限,则必须将其从应用的清单中删除,才能成功发布应用。下面还详细介绍了与策略兼容的替代实施。
如果您的应用程序满足可接受使用的策略要求或符合例外条件,则需要使用play console中的声明表单声明此权限和任何其他高风险权限。
不符合政策要求或未提交申报表的应用程序可能会从google play中删除。
只有当您的应用程序无法有效地利用更隐私友好的最佳做法(如使用storage access framework或media store api)时,您才应该访问“所有文件”访问权限。
此外,应用程序对权限的使用必须在允许的使用范围内,并且必须与应用程序的核心功能直接关联。核心功能被定义为应用程序的主要用途。如果没有这一核心功能,该应用程序将“损坏”或无法使用。核心功能以及构成该核心功能的任何核心功能都必须在应用程序描述中显著记录和推广。

相关问题