gpt4 book ai didi

android - WallpaperService#onCreateEngine 重置或重启

转载 作者:行者123 更新时间:2023-11-29 00:24:57 26 4
gpt4 key购买 nike

我有一个壁纸类WallpaperService#onCreateEngine(在 init 中,我从 sharedprefs 读取了背景图像和颜色。

现在,如果我启动我的应用程序,我会设置可选择的背景颜色和背景。

我开始预览

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

如果我设置墙纸,在预览中一切正常,我仍然看到旧值,因为类(class)没有重新启动..(如果我设置另一个 3 方壁纸并更改设置并启动我的一切都可以)

有人可以给我提示 hwoto 吗?

最佳答案

我已经在我的引擎中注册了一个 BroadcastReceiver:

IntentFilter filter = new IntentFilter("com.your.package.REFRESH");
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
draw();
}
};
registerReceiver(receiver, filter);

然后,当您更改变量/可绘制对象时,在实际上下文中调用它:

context.sendBroadcast(new Intent("com.your.package.REFRESH"));

在 draw() 方法中重新绘制墙纸。

关于android - WallpaperService#onCreateEngine 重置或重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com