PhotoManager class

The core manager of this package, providing methods for accessing and managing assets.


PhotoManager.withPlugin([PhotoManagerPlugin? photoManagerPlugin])
Creates a new instance of the PhotoManagerPlugin class with an optional plugin instance to use instead of the global singleton.


hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited


noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.

Static Properties

editor → Editor
An editor instance for performing edits on assets.
notifyingOfChange bool
Whether assets change event should be notified.
no setter
notifyStream Stream<bool>
The notify enable flag in stream.
no setter
plugin PhotoManagerPlugin
The global singleton of the PhotoManagerPlugin class that handles all method channels.
no setter

Static Methods

addChangeCallback(ValueChanged<MethodCall> callback) → void
Adds a callback function to be executed upon asset changes.
clearFileCache() Future<void>
Clear all file caches.
forceOldApi() Future<void>
Forces the plugin to use the old API for accessing the device's media library on Android 10 and above.
getAssetCount({PMFilter? filterOption, RequestType type = RequestType.common}) Future<int>
Returns the count of assets.
getAssetListPaged({required int page, required int pageCount, PMFilter? filterOption, RequestType type = RequestType.common}) Future<List<AssetEntity>>
Get the asset list with page.
getAssetListRange({required int start, required int end, PMFilter? filterOption, RequestType type = RequestType.common}) Future<List<AssetEntity>>
Get the asset list with range.
getAssetPathList({bool hasAll = true, bool onlyAll = false, RequestType type = RequestType.common, PMFilter? filterOption, PMPathFilter pathFilterOption = const PMPathFilter()}) Future<List<AssetPathEntity>>
Obtain albums/folders list with couple filter options.
openSetting() Future<void>
Open the system settings page of the current app.
presentLimited({RequestType type = RequestType.all}) Future<void>
Prompts the limited assets selection modal on iOS.
releaseCache() Future<void>
Release native caches, there are no common use case for this method, so this method is not recommended.
removeChangeCallback(ValueChanged<MethodCall> callback) → void
Removes a callback function from the list to be executed upon asset changes.
requestPermissionExtend({PermissionRequestOption requestOption = const PermissionRequestOption()}) Future<PermissionState>
Android (AndroidManifest.xml)
setIgnorePermissionCheck(bool ignore) Future<void>
Whether to ignore all runtime permissions check.
setLog(bool isLog) Future<void>
Controls whether the plugin should log messages to the console during operation.
startChangeNotify() Future<void>
Enables asset change notifications.
stopChangeNotify() Future<void>
Disables asset change notifications.
systemVersion() Future<String>
Get the system version.