Wallpaper APIs
Overview
The Smart Launcher Wallpaper API is an experimental Android library that lets third‑party apps notify Smart Launcher about the wallpaper a user has selected. It handles temporary file storage, permission management, and metadata sharing so you can integrate without additional manifest setup or custom providers.
Benefits for Developers
Advanced visual effect – Smart Launcher will be able to apply dynamic blur effects and other enhancements to the wallpapers you supply, ensuring the launcher showcases your content at its best.


Built‑in attribution – When users share their setups, Smart Launcher preserves your metadata (author, source, link) so you receive proper credit. This attribution flows through to social posts, helping your work reach new audiences.


Quick Implementation Guide
Add the dependency
dependencies {
implementation("net.smartlauncher:wallpaper-api:0.0.4")
}
Go to the code that you use to apply your wallpapers
Before setting the code via WallpaperManager, call SmartLauncherWallpaperApi.saveWallpaper
if(/* do not run if you are only changing the lockscreen wallpaper */){
val result = SmartLauncherWallpaperApi.saveWallpaper(
context = context,
bitmap = wallpaperBitmap, // also Uri is supported
metadata = SmartLauncherWallpaperApi.Metadata(
author = "Jane Doe",
link = "https://example.com/wallpaper/42",
source = "Example App"
)
)
// result is an enum, it will help you debugging possible issues
}
WallpaperManager.getInstance(this).setBitmap(bitmap)
You are done!
How to test it
Verify you are running Smart Launcher 6.5.38 or higher
Launch your code, ensure
SmartLauncherWallpaperApi.saveWallpaper
returnsSuccess
From Smart Launcher, open preferences, then select Show your home screen.
✅ If you see your current setup, the integration is working! Now, if you populated the metadata field, you should see them as part of the body text when you press the Share button.
🚨 If you get an error after selecting Show your home screen, something is wrong. Contact us for assistance.
Experimental Status
This library is still experimental. APIs and behavior may change, and backward compatibility is not guaranteed yet. We welcome feedback and issue reports to help stabilize the interface.
Library release notes
0.0.4
The library now uses WebP under the hood for improved performance
0.0.3
Initial public release
Last updated
Was this helpful?