Setting live wallpaper programmatically

前端 未结 2 901
野趣味
野趣味 2020-12-04 13:54

Is it possible to set a live wallpaper using some lines of code. For example, i want to tell my users that a live wallpaper is available \"click here to set it\".

2条回答
  •  日久生厌
    2020-12-04 14:07

    There are now two ways to accomplish this as Jelly Bean provides a way to directly set the live wallpaper. This boilerplate code will choose the best method available.

    Intent i = new Intent();
    
    if(Build.VERSION.SDK_INT > 15){
        i.setAction(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER);
    
        String p = HypercaneWallpaperService.class.getPackage().getName();
        String c = HypercaneWallpaperService.class.getCanonicalName();        
        i.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, new ComponentName(p, c));
    }
    else{
        i.setAction(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER);
    }
    getActivity().startActivityForResult(i, 0);
    

提交回复
热议问题