我正在开发一个android应用程序,我需要将锁屏墙纸和普通墙纸设置为动画墙纸。我使用自定义墙纸服务,并使用新的Intent将其设置为主屏幕。虽然这适用于主屏幕,但我还没有找到使其在锁定屏幕上工作的方法,但我得到的最接近的方法是使其在三星手机上工作。现在我想知道我是否能做些什么来实现自己的目标。
这是我当前的实现方式:
Intent intent = new Intent("android.service.wallpaper.CHANGE_LIVE_WALLPAPER");
intent.putExtra("android.service.wallpaper.extra.LIVE_WALLPAPER_COMPONENT", new ComponentName(MainActivity.this, BorderlightWallpaperService.class));
startActivity(intent);
答案 0 :(得分:0)
从API级别24开始,他们已经在WallpaperManager中添加了新方法(并更新了文档)和标志,这些标志和标志使您不仅可以将墙纸设置为主屏幕,还可以将其设置为锁定屏幕
要将墙纸设置为锁定屏幕,请使用新的标志WallpaperManager.FLAG_LOCK,以及采用int which的方法之一
WallpaperManager.getInstance(this).setStream(inputStream, null, true,WallpaperManager.FLAG_LOCK);
您还可以使用以下方法之一
int setStream (InputStream bitmapData, Rect visibleCropHint, boolean allowBackup, int which)
int setResource (int resid, int which)
int setBitmap (Bitmap fullImage, Rect visibleCropHint, boolean allowBackup, int which)