Most visited

Recently visited

Added in API level 1

KeyguardManager

public class KeyguardManager
extends Object

java.lang.Object
   ↳ android.app.KeyguardManager


Class that can be used to lock and unlock the keyboard. Get an instance of this class by calling getSystemService(java.lang.String) with argument KEYGUARD_SERVICE. The actual class to control the keyboard locking is KeyguardManager.KeyguardLock.

Summary

Nested classes

class KeyguardManager.KeyguardLock

This class was deprecated in API level 13. Use FLAG_DISMISS_KEYGUARD and/or FLAG_SHOW_WHEN_LOCKED instead; this allows you to seamlessly hide the keyguard as your application moves in and out of the foreground and does not require that any special permissions be requested. Handle returned by newKeyguardLock(String) that allows you to disable / reenable the keyguard.  

interface KeyguardManager.OnKeyguardExitResult

Callback passed to exitKeyguardSecurely(KeyguardManager.OnKeyguardExitResult) to notify caller of result. 

Public methods

Intent createConfirmDeviceCredentialIntent(CharSequence title, CharSequence description)

Get an intent to prompt the user to confirm credentials (pin, pattern or password) for the current user of the device.

void exitKeyguardSecurely(KeyguardManager.OnKeyguardExitResult callback)

This method was deprecated in API level 13. Use FLAG_DISMISS_KEYGUARD and/or FLAG_SHOW_WHEN_LOCKED instead; this allows you to seamlessly hide the keyguard as your application moves in and out of the foreground and does not require that any special permissions be requested. Exit the keyguard securely. The use case for this api is that, after disabling the keyguard, your app, which was granted permission to disable the keyguard and show a limited amount of information deemed safe without the user getting past the keyguard, needs to navigate to something that is not safe to view without getting past the keyguard. This will, if the keyguard is secure, bring up the unlock screen of the keyguard.

This method requires the caller to hold the permission DISABLE_KEYGUARD.

boolean inKeyguardRestrictedInputMode()

If keyguard screen is showing or in restricted key input mode (i.e.

boolean isDeviceLocked()

Returns whether the device is currently locked and requires a PIN, pattern or password to unlock.

boolean isDeviceSecure()

Returns whether the device is secured with a PIN, pattern or password.

boolean isKeyguardLocked()

Return whether the keyguard is currently locked.

boolean isKeyguardSecure()

Return whether the keyguard is secured by a PIN, pattern or password or a SIM card is currently locked.

KeyguardManager.KeyguardLock newKeyguardLock(String tag)

This method was deprecated in API level 13. Use FLAG_DISMISS_KEYGUARD and/or FLAG_SHOW_WHEN_LOCKED instead; this allows you to seamlessly hide the keyguard as your application moves in and out of the foreground and does not require that any special permissions be requested. Enables you to lock or unlock the keyboard. Get an instance of this class by calling Context.getSystemService(). This class is wrapped by KeyguardManager.

Inherited methods

From class java.lang.Object

Public methods

createConfirmDeviceCredentialIntent

Added in API level 21
Intent createConfirmDeviceCredentialIntent (CharSequence title, 
                CharSequence description)

Get an intent to prompt the user to confirm credentials (pin, pattern or password) for the current user of the device. The caller is expected to launch this activity using startActivityForResult(Intent, int) and check for RESULT_OK if the user successfully completes the challenge.

Parameters
title CharSequence
description CharSequence
Returns
Intent the intent for launching the activity or null if no password is required.

exitKeyguardSecurely

Added in API level 1
void exitKeyguardSecurely (KeyguardManager.OnKeyguardExitResult callback)

This method was deprecated in API level 13.
Use FLAG_DISMISS_KEYGUARD and/or FLAG_SHOW_WHEN_LOCKED instead; this allows you to seamlessly hide the keyguard as your application moves in and out of the foreground and does not require that any special permissions be requested. Exit the keyguard securely. The use case for this api is that, after disabling the keyguard, your app, which was granted permission to disable the keyguard and show a limited amount of information deemed safe without the user getting past the keyguard, needs to navigate to something that is not safe to view without getting past the keyguard. This will, if the keyguard is secure, bring up the unlock screen of the keyguard.

This method requires the caller to hold the permission DISABLE_KEYGUARD.

Parameters
callback KeyguardManager.OnKeyguardExitResult: Let's you know whether the operation was succesful and it is safe to launch anything that would normally be considered safe once the user has gotten past the keyguard.

inKeyguardRestrictedInputMode

Added in API level 1
boolean inKeyguardRestrictedInputMode ()

If keyguard screen is showing or in restricted key input mode (i.e. in keyguard password emergency screen). When in such mode, certain keys, such as the Home key and the right soft keys, don't work.

Returns
boolean true if in keyguard restricted input mode.

See also:

  • inKeyguardRestrictedKeyInputMode()

isDeviceLocked

Added in API level 22
boolean isDeviceLocked ()

Returns whether the device is currently locked and requires a PIN, pattern or password to unlock.

Returns
boolean true if unlocking the device currently requires a PIN, pattern or password.

isDeviceSecure

Added in API level 23
boolean isDeviceSecure ()

Returns whether the device is secured with a PIN, pattern or password.

See also isKeyguardSecure() which treats SIM locked states as secure.

Returns
boolean true if a PIN, pattern or password was set.

isKeyguardLocked

Added in API level 16
boolean isKeyguardLocked ()

Return whether the keyguard is currently locked.

Returns
boolean true if keyguard is locked.

isKeyguardSecure

Added in API level 16
boolean isKeyguardSecure ()

Return whether the keyguard is secured by a PIN, pattern or password or a SIM card is currently locked.

See also isDeviceSecure() which ignores SIM locked states.

Returns
boolean true if a PIN, pattern or password is set or a SIM card is locked.

newKeyguardLock

Added in API level 1
KeyguardManager.KeyguardLock newKeyguardLock (String tag)

This method was deprecated in API level 13.
Use FLAG_DISMISS_KEYGUARD and/or FLAG_SHOW_WHEN_LOCKED instead; this allows you to seamlessly hide the keyguard as your application moves in and out of the foreground and does not require that any special permissions be requested. Enables you to lock or unlock the keyboard. Get an instance of this class by calling Context.getSystemService(). This class is wrapped by KeyguardManager.

Parameters
tag String: A tag that informally identifies who you are (for debugging who is disabling he keyguard).
Returns
KeyguardManager.KeyguardLock A KeyguardManager.KeyguardLock handle to use to disable and reenable the keyguard.

Hooray!