You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 13:判断应用是否为动态壁纸的代码失效,getWallpaperInfo返回null

Android 13中动态壁纸状态检测失效问题

我需要检查自己开发的动态壁纸应用是否已被设置为当前动态壁纸。以下代码在Android ≤12版本中可正常运行,但在Android 13(SDK 33)环境下失效:

public static boolean isLiveWallpaper(Context context) {
    if (Service._handler == null) {
        return false;
    }
    WallpaperManager wpm = WallpaperManager.getInstance(context);
    WallpaperInfo info = wpm.getWallpaperInfo();
    try {
        return (info != null && info.getPackageName().equals(context.getPackageName()));
    } catch (Exception e) {
        return false;
    }
}

在Android 13中,wpm.getWallpaperInfo()始终返回null,我查阅谷歌及Android开发者文档后未找到该问题的相关原因说明。

补充说明:我使用以下代码设置动态壁纸可正常工作,但无法通过代码判断是否已成功设置:

Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
        new ComponentName(context, Service.class));
context.startActivity(intent);

内容的提问来源于stack exchange,提问作者Simone Sessa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:12:24