如何在Android 13上获取当前壁纸?

问题描述 投票:0回答:2

似乎

getDrawable()
WallpaperManager
在 Android 13 上没用,因为用户无法获得
READ_EXTERNAL_STORAGE
权限。

有什么方法可以获取 API 级别 33 上的当前壁纸吗?我的意思是不降低

targetSdk
水平等

android wallpaper wallpapermanager
2个回答
4
投票

对于我的小型动态壁纸应用程序(这里),我提供导入以前的壁纸,所以我也需要这个。我还需要一个类似的功能

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

请考虑主演。


0
投票

问题中:https://issuetracker.google.com/issues/237124750

他们评论说:

#60:状态:无法修复(预期行为) 我们与我们的产品和工程团队讨论了该行为,他们支持保持 API 仅可由特权系统应用程序访问。

所以除非我们是系统应用程序,否则我们无法再获得可绘制的壁纸

© www.soinside.com 2019 - 2024. All rights reserved.