A flutter plugin to query Android device Administrator (DevicePolicyManager) particulary Locking screen

for more info check DevicePolicyManager

Installation and usage

Add package to your pubspec:

  device_policy_manager: any # or the latest version on Pub

Inside AndroidManifest add this to bind deviceAdmin receiver with your application

  <receiver android:name="device.policy.manager.DeviceAdmin" android:permission="android.permission.BIND_DEVICE_ADMIN">
      <meta-data android:name="" android:resource="@xml/policies" />
      <intent-filter android:exported="true">
          <action android:name="" />
          <action android:name="" />
          <action android:name="" />


Create policies.xml inside res/xml and add the following code inside it:

<?xml version="1.0" encoding="utf-8"?>
        <force-lock />


/// Return `true` if the given administrator component is currently active (enabled) in the system.
final status = await DevicePolicyManager.isPermissionGranted();

/// request administrator permission
/// it will open the adminstartor permission page and return `true` once the permission granted.
/// An optional message providing additional explanation for why the admin is being added.
await DevicePolicyManager.requestPermession("Your app is requesting the Adminstration permission");

/// Remove administration permission from the current app.
await DevicePolicyManager.removeActiveAdmin();

/// Make the device lock immediately, as if the lock screen timeout has expired at the point of this call.
/// After this method is called, the device must be unlocked using strong authentication (PIN, pattern, or password).
await DevicePolicyManager.lockNow();

/// Determine whether or not the device's cameras have been disabled for this user.
final status = await DevicePolicyManager.isCameraDisabled();


View Github