我正在为我的 Android 设备创建主屏幕应用程序。我在 Android 示例 Home 应用程序的帮助下创建此应用程序。我在家庭示例应用程序中发现了一件事,如果我们设置墙纸,它会调用 android.content.ContextWrapper.setWallpaper(InputStream data);
来设置墙纸。
在这个应用程序中,一个带有操作 Intent.ACTION_WALLPAPER_CHANGED
的 BroadcastReceiver 已经注册以捕捉壁纸的变化,然后在 OnReceive() 方法中,使用下面的代码
getWindow().setBackgroundDrawable(new ClippedDrawable(getWallpaper()));
为应用程序窗口设置背景。
因此,如果我们使用与主屏幕相同的应用程序,我们会认为壁纸真的设置为窗口中的背景,但事实并非如此。
如果我设置任何动态壁纸,它不会在主屏幕应用程序中显示为背景。以前的壁纸只显示在窗口中。如果我使用默认的主屏幕应用程序,它会显示动态壁纸。
最后我想知道一件事,为什么当我使用示例主屏幕应用程序时,应用程序窗口中没有显示动态壁纸?
如果有人知道这件事,请帮助我。
最佳答案
您不能通过代码设置动态壁纸,这只能通过静态壁纸来完成。
关于安卓壁纸是真实的还是虚拟的?为什么示例主屏幕应用程序中不显示动态壁纸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8999894/