Reputation: 1086
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
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
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
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