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 に答える