我曾经能够设置壁纸位图,而不使用下面这个(不正确的)代码滚动:
int deviceWidth = ...;
int deviceHeight = ...;
Bitmap bmp = new Bitmap(deviceWidth, deviceHeight);
...
WallpaperManager wm = WallpaperManager.getInstance(context);
wm.setWallpaperOffsetSteps(1, 1);
wm.suggestDesiredDimensions(deviceWidth, deviceHeight;
wm.setBitmap(bmp);
但开发人员文档现在指出我们不应该调用suggestDesiredDimensions(),除非我们是主屏幕替换应用程序。我不是。这对我的nexus 5也不起作用。
搜索SO帖子后,似乎推荐的创建不滚动壁纸的方法是为您的应用添加动态壁纸支持。您可以将动态壁纸设置为不滚动。请参阅最后一个答案,在此处以编程方式进行设置:
Setting live wallpaper programmatically
这是正确的方法,还是我错过了一个更简单的方法来解决这个问题?
由于
答案 0 :(得分:0)
唯一100%的解决方法是制作LWP。
它不是太难,比静态壁纸更灵活。但也有一些模仿(例如你不能以编程方式设置LWP,只能打开LWP选择器和promt用户设置它)