📱 wallpaper_manager_plus
A modern, lightweight Flutter plugin to set wallpapers on Android Home Screen, Lock Screen, or both. Built for performance, reliability, and large image support.
🔔 Why Choose wallpaper_manager_plus
?
✅ Built using Kotlin coroutines to handle wallpaper setting in a background thread — effectively preventing ANR (Application Not Responding) issues common in older implementations.
✅ Perfect for developers building wallpaper apps, personalization tools, or utilities requiring dynamic background changes.
📣 Have a feature request or bug to report? Open an issue or contribute via pull request!
🚀 Key Features
- 🏠 Set wallpaper on Home Screen, Lock Screen, or Both
- 🖼️ Seamless support for large images
- 💾 Works with cached network images and local files
- ⚡ Lightweight and easy to integrate
- 🔄 Compatible with Flutter null safety and latest Dart versions
📦 Installation
Add to your pubspec.yaml
:
dependencies:
wallpaper_manager_plus: ^1.0.1
Import it in your Dart file:
import 'package:wallpaper_manager_plus/wallpaper_manager_plus.dart';
🛠️ How to Use
🔹 Set Wallpaper from Cached Network Image
To set a wallpaper from a remote image URL using caching, integrate the flutter_cache_manager
:
Step 1: Add dependency
dependencies:
flutter_cache_manager: ^3.4.0
Step 2: Import packages
import 'dart:io';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:wallpaper_manager_plus/wallpaper_manager_plus.dart';
Step 3: Example code
String imageUrl = 'https://example.com/image.jpg';
File file = await DefaultCacheManager().getSingleFile(imageUrl);
int location = WallpaperManagerPlus.HOME_SCREEN;
await WallpaperManagerPlus().setWallpaper(file.path, location);
📌 Use a try-catch
block for error handling.
🔹 Set Wallpaper from Local File
Use a file from local storage:
String imagePath = '/storage/emulated/0/Download/image.png';
int location = WallpaperManagerPlus.HOME_SCREEN;
await WallpaperManagerPlus().setWallpaper(imagePath, location);
💡 Full Example
Check out the example/ directory for a complete working example.
🤝 Contribute to Development
We welcome your contributions! If you want to:
- Add new features
- Fix bugs
- Improve documentation
Fork the repository and submit a pull request. Every contribution helps!