Search code examples
javaandroidbroadcastreceiverwallpaper

How can I set the wallpaper programaticly?


I want to set the wallpaper on phone boot. How can I do that ?


Solution

  • In your manifest add this permission:

    <uses -permission android:name="android.permission.SET_WALLPAPER" />
    

    Later in your code:

    WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
    
    Drawable drawable = getResources().getDrawable(R.drawable.wallpaper);
    
    Bitmap wallpaper = ((BitmapDrawable) drawable).getBitmap();
    
    wallpaperManager.setBitmap(wallpaper);