0

嗨,我发现这个很好的代码可以促进用户设置我的壁纸:

public void requestWallpaperChange() {
  Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
  intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT,
    new ComponentName(this, MyWallpaperService.class));
  startActivity(intent);
} 

但是它仅适用于 API 16,如何在旧版本上实现这一点?

4

1 回答 1

1

您不能直接跳转到动态壁纸,但可以在 API 级别 16 之前打开选择器。

Intent intent = new Intent();
if(Build.VERSION.SDK_INT >= 16)
{
    intent.setAction(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
    intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, new ComponentName(this, GLWallpaperService.class));
}   
else
{
    intent.setAction(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
}   

startActivity(intent);
于 2014-04-08T17:59:37.983 回答