async_wallpaper

Android wallpaper plugin for Flutter with support for:

  • static wallpaper from URL or file path
  • home, lock, or both targets
  • live wallpaper from local video file
  • opening Android wallpaper chooser

Demo

Example Demo Example App Screenshot
Example Demo Example App Screenshot

Version 3.0.0 highlights

  • Flutter baseline: 3.41.4
  • Android tooling: AGP 8.11.1, Gradle 8.14, Kotlin plugin 2.2.20, Java 17
  • Android minSdk raised to 24
  • Android host code migrated from Java to Kotlin
  • Breaking API redesign to typed enums, request objects, and result objects

Requirements

  • Flutter >=3.41.4
  • Dart >=3.9.0 <4.0.0
  • Android minSdk 24

Installation

dependencies:
  async_wallpaper: ^3.0.0

Usage

import 'package:async_wallpaper/async_wallpaper.dart';

Set wallpaper from URL

final WallpaperResult result = await AsyncWallpaper.setWallpaper(
  const WallpaperRequest(
    target: WallpaperTarget.both,
    sourceType: WallpaperSourceType.url,
    source: 'https://example.com/wallpaper.jpg',
    goToHome: true,
  ),
);

if (!result.isSuccess) {
  debugPrint('Wallpaper failed: ${result.error?.message}');
}

Set wallpaper from file

final WallpaperResult result = await AsyncWallpaper.setWallpaper(
  WallpaperRequest(
    target: WallpaperTarget.home,
    sourceType: WallpaperSourceType.file,
    source: '/storage/emulated/0/Download/wallpaper.jpg',
  ),
);

Set live wallpaper

final WallpaperResult result = await AsyncWallpaper.setLiveWallpaper(
  const LiveWallpaperRequest(
    filePath: '/storage/emulated/0/Download/live.mp4',
    goToHome: false,
  ),
);

Open wallpaper chooser

await AsyncWallpaper.openWallpaperChooser();

Material You support check

final MaterialYouSupport support = await AsyncWallpaper.checkMaterialYouSupport();

Migration from 2.x

  • HOME_SCREEN, LOCK_SCREEN, BOTH_SCREENS are replaced by WallpaperTarget enum.
  • previous bool-based setter methods are replaced with typed request APIs.
  • internal toasts were removed; handle UX messaging in your app.

Bugs and Feature Requests

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening a PR.

License

MIT