7

I am developing a wallpaper app. We can add simple wallpaper automatically by using the following code with a service.

        final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
        final Drawable wallpaperDrawable = wallpaperManager.getDrawable();
        final ImageView imageView = (ImageView) findViewById(R.id.imageview);
        imageView.setDrawingCacheEnabled(true);
        imageView.setImageDrawable(wallpaperDrawable);

Now i have to set Live Wallpaper automatically using a service, means Live Wallpaper should set automatically everyday on Screen. how can we do this???

Thanks

Himanshu
  • 1,066
  • 6
  • 19
  • 44

3 Answers3

2

You can launch the wallpaper chooser with your live wallpaper pre-selected, but there doesn't currently appear to be a way to set it without user intervention.

See this for the Intent to fire to do this as well as see the documentation for the Extra you need to supply to preselect your live wallpaper. http://developer.android.com/reference/android/app/WallpaperManager.html#ACTION_CHANGE_LIVE_WALLPAPER

PaulR
  • 3,223
  • 1
  • 21
  • 32
1

It's impossible to set Live Wallpaper programmatically without any user interaction. Even on rooted device you can't set the Live Wallpaper, you can't surpass the LiveWallpaperSerivce system class.

Naskov
  • 4,121
  • 5
  • 38
  • 62
0

Ofcourse you can do it.

1) Put your all GIF files in raw directory

2) Create multiple Movie objects in Engine class

3) Draw your movie on canvas

   void nyanNyan(Canvas canvas) { 
        canvas.save();
        canvas.scale(mScaleX, mScaleY);

        wallpaper_movies.get(Settings.currentWeather).setTime(mWhen);
        wallpaper_movies.get(Settings.currentWeather).draw(canvas, 0, 0);

        canvas.restore();
    }

You have to load your GIF on condition