Himanshu
Himanshu

Reputation: 1086

How to set Live Wallpaper automatically everyday in android

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

Upvotes: 7

Views: 3628

Answers (3)

Mrugesh Vaghela
Mrugesh Vaghela

Reputation: 1

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

Upvotes: 0

Naskov
Naskov

Reputation: 4179

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.

Upvotes: 1

PaulR
PaulR

Reputation: 3293

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

Upvotes: 2

Related Questions