wallpaper_manager - Flutter Plugin : freecodes.cloud

wallpaper_manager

Flutter Plugin - Wallpaper Manager

A Flutter plugin for changing the Home Screen, Lock Screen (or both) Wallpaper(s) on Android devices.

Flutter Plugin - Wallpaper Manager

Usage

Installation

In the pubspec.yaml of your flutter project, add the following dependency:dependencies: … wallpaper_manager: “^1.0.10”

In your library add the following import:import ‘package:wallpaper_manager/wallpaper_manager.dart’;

Example

Basic Usage

Since this is not a Widget, you have to create WallpaperManager constructors from inside an async function, which is a Future that returns a String output specifying success/failure.String path = “/path/to/file/on/disk”; int location = WallpaperManager.HOME_SCREEN; // or location = WallpaperManager.LOCK_SCREEN; final String result = await WallpaperManager.setWallpaperFromFile(path, location);

Basic Usage with error handling

You might want to wrap it in a try/catch since platform messages (plug-ins like these) may failString path = “/path/to/file/on/disk”; int location = WallpaperManager.HOME_SCREEN; // or location = WallpaperManager.LOCK_SCREEN; String result; try { result = await WallpaperManager.setWallpaperFromFile(path, location); } on PlatformException { result = ‘Failed to get wallpaper.’; }

Loading from a URL (with CacheManager, the image is saved to app files as well)

If you’re loading a Wallpaper from a URL, you should save it to the disk first, then use the path of the saved image file. Add flutter_cache_manager or any other dependency you’d like:dependencies: … flutter_cache_manager: “^1.1.3”

And in dart codeString url = “”; int location = WallpaperManager.HOME_SCREEN; // or location = WallpaperManager.LOCK_SCREEN; String result; var file = await DefaultCacheManager().getSingleFile(url); final String result = await WallpaperManager.setWallpaperFromFile(file.path, location);

Loading from a Flutter asset

If you’re loading a Wallpaper from an asset, you need to make sure it is indexed in the pubspec.yaml file firstdependencies: … flutter: … assets: – assets/tmp1.jpeg

And in dart codeString assetPath = “assets/tmp1.jpg”; int location = WallpaperManager.HOME_SCREEN; // or location = WallpaperManager.LOCK_SCREEN; String result; final String result = await WallpaperManager.setWallpaperFromAsset(assetPath, location);

Getting started

With Wallpaper Manager

See the example directory for a complete sample app using Wallpaper Manager.

With Flutter

For help getting started with Flutter, view the online documentation.

Notes

  • iOS does not support changing Wallpapers from third-party apps (Source)
  • Xiaomi/MIUI does not support changing Lock Screen Wallpapers directly from the Android API (Source). You might want to look at creating a Lock Screen Launcher app instead.

Known Issues

Todos

  •  Write tests
  •  Add rect values for optionally cropping the image
  •  Add variable for re-using Wallpaper from phone’s settings
  •  Write more tests

Changelog

Please see the Changelog page to know what’s recently changed.

Contributions

Feel free to contribute to this project.

If you find a bug or want a feature, but don’t know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a feature, please send a pull request.


GITHUB REPOSITORY

https://github.com/AdityaMulgundkar/wallpaper_manager

  • All rights reserved to the respective owners/authors