似乎
getDrawable()
的 WallpaperManager
在 Android 13 上没用,因为用户无法获得 READ_EXTERNAL_STORAGE
权限。
有什么方法可以获取 API 级别 33 上的当前壁纸吗?我的意思是不降低
targetSdk
水平等
对于我的小型动态壁纸应用程序(这里),我提供导入以前的壁纸,所以我也需要这个。我还需要一个类似的功能
getWallpaperFile
,它也需要存储权限。
目前我发现的唯一解决方法是使用
MANAGE_EXTERNAL_STORAGE
权限。
但是,当我尝试使用此权限发布我的应用程序时,政策团队拒绝了。我尝试在申诉后发送申诉,但到目前为止没有帮助。
我希望谷歌能够解决这个问题,否则我将不得不准备一个应用程序,这就是它的全部目的,作为我自己的应用程序的伴侣。
在此更改之前,您可以针对 API 32 ,但是当 Google 强制开发人员针对 API 33 时,这当然不会是一个选项...
我还尝试访问这些文件本身(它们位于“/data/system/users/0”上,名为“wallpaper”和“wallpaper_lock”),但遗憾的是,未经我提到的许可,我无法读取它们。我可以使用 root 访问权限来完成此操作,但这根本不一样......
由于 Android 13 上的这些可怕的变化,我创建了一个新的请求来获得新的权限,只是为了获取当前的壁纸信息(无论是来自锁/主页的图像还是动态壁纸),在这里:
https://issuetracker.google.com/issues/263721379
请考虑主演。
问题中:https://issuetracker.google.com/issues/237124750
他们评论说:
#60:状态:无法修复(预期行为) 我们与我们的产品和工程团队讨论了该行为,他们支持保持 API 仅可由特权系统应用程序访问。
所以除非我们是系统应用程序,否则我们无法再获得可绘制的壁纸