# Screen Lock Management > **NOTE** > > The initial APIs of this module are supported since API version … Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```js import screenlock from '@ohos.screenLock'; ``` ## screenlock.isScreenLocked isScreenLocked(callback: AsyncCallback<boolean>): void Checks whether the screen is locked. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Returns **true** if the screen is locked; returns **false** otherwise.| **Example** ```js screenlock.isScreenLocked((err, data)=>{ if (err) { console.error('isScreenLocked callback error -> ${JSON.stringify(err)}'); return; } console.info('isScreenLocked callback success data -> ${JSON.stringify(data)}'); }); ``` ## screenlock.isScreenLocked isScreenLocked(): Promise<boolean> Checks whether the screen is locked. This API uses a promise to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Return value** | Type| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the result.| **Example** ```js screenlock.isScreenLocked().then((data) => { console.log('isScreenLocked success: data -> ${JSON.stringify(data)}'); }).catch((err) => { console.error('isScreenLocked fail, promise: err -> ${JSON.stringify(err)}'); }); ``` ## screenlock.isSecureMode isSecureMode(callback: AsyncCallback<boolean>): void Checks whether a device is in secure mode. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<boolean> | Yes| Returns **true** if the device is in secure mode; returns **false** otherwise.| **Example** ```js screenlock.isSecureMode((err, data)=>{ if (err) { console.error('isSecureMode callback error -> ${JSON.stringify(err)}'); return; } console.info('isSecureMode callback success data -> ${JSON.stringify(err)}'); }); ``` ## screenlock.isSecureMode isSecureMode(): Promise<boolean> Checks whether a device is in secure mode. This API uses a promise to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Return value** | Type| Description| | -------- | -------- | | Promise<boolean> | Promise used to return the result.| **Example** ```js screenlock.isSecureMode().then((data) => { console.log('isSecureMode success: data->${JSON.stringify(data)}'); }).catch((err) => { console.error('isSecureMode fail, promise: err->${JSON.stringify(err)}'); }); ``` ## screenlock.unlockScreen unlockScreen(callback: AsyncCallback<void>): void Unlocks the screen. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<void> | Yes| Callback used to return the result. If the operation failed, an error message is returned.| **Example** ```js screenlock.unlockScreen((err) => { if (err) { console.error('unlockScreen callback error -> ${JSON.stringify(err)}'); return; } console.info('unlockScreen callback success'); }); ``` ## screenlock.unlockScreen unlockScreen(): Promise<void> Unlocks the screen. This API uses a promise to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Return value** | Type| Description| | -------- | -------- | | Promise<void> | Promise used to return the result.| **Example** ```js screenlock.unlockScreen().then(() => { console.log('unlockScreen success'); }).catch((err) => { console.error('unlockScreen fail, promise: err->${JSON.stringify(err)}'); }); ``` ## screenlock.on9+ on(type: 'beginWakeUp' | 'endWakeUp' | 'beginScreenOn' | 'endScreenOn' | 'beginScreenOff' | 'endScreenOff' | 'unlockScreen' | 'beginExitAnimation', callback: Callback\): void Subscribes to screen lock status changes. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type.
- **'beginWakeUp'**: Wakeup starts.
- **'endWakeUp'**: Wakeup ends.
- **'beginScreenOn'**: Screen turn-on starts.
- **'endScreenOn'**: Screen turn-on ends.
- **'beginScreenOff'**: Screen turn-off starts.
- **'endScreenOff'**: Screen turn-off ends.
- **'unlockScreen'**: The screen is unlocked.
- **'beginExitAnimation'**: Animation starts to exit. | | callback | Callback\ | Yes| Callback used to return the result.| **Example** ```js screenlock.on('beginWakeUp', () => { console.log('beginWakeUp triggered'); }); ``` ## screenlock.on9+ on(type: 'beginSleep' | 'endSleep' | 'changeUser', callback: Callback\): void Subscribes to screen lock status changes. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type.
- **'beginSleep'**: The screen enters sleep mode.
- **'endSleep'**: The screen exits sleep mode.
- **'changeUser'**: The user is switched.| | callback | Callback\ | Yes| Callback used to return the result. | **Example** ```js screenlock.on('beginSleep', (why) => { console.log('beginSleep triggered:' + why); }); ``` ## screenlock.on9+ on(type: 'screenlockEnabled', callback: Callback\): void Subscribes to screen lock status changes. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type.
- **'screenlockEnabled'**: Screen lock is enabled.| | callback | Callback\ | Yes| Callback used to return the result. | **Example** ```js screenlock.on('screenlockEnabled', (isEnabled) => { console.log('screenlockEnabled triggered, result:' + isEnabled); }); ``` ## screenlock.off9+ off(type: 'beginWakeUp' | 'endWakeUp' | 'beginScreenOn' | 'endScreenOn' | 'beginScreenOff' | 'endScreenOff' | 'unlockScreen' | 'beginExitAnimation' | 'screenlockEnabled' | 'beginSleep' | 'endSleep' | 'changeUser', callback: Callback\): void Unsubscribes from screen lock status changes. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type.
- **'beginWakeUp'**: Wakeup starts.
- **'endWakeUp'**: Wakeup ends.
- **'beginScreenOn'**: Screen turn-on starts.
- **'endScreenOn'**: Screen turn-on ends.
- **'beginScreenOff'**: Screen turn-off starts.
- **'endScreenOff'**: Screen turn-off ends.
- **'unlockScreen'**: The screen is unlocked.
- **'beginExitAnimation'**: Animation starts to exit.
- **'screenlockEnabled'**: Screen lock is enabled.
- **'beginSleep'**: The screen enters sleep mode.
- **'endSleep'**: The screen exits sleep mode.
- **'changeUser'**: The user is switched.| | callback | Callback\ | Yes| Callback used to return the result.| **Example** ```js screenlock.off('beginWakeUp', () => { console.log("callback"); }); ``` ## screenlock.sendScreenLockEvent9+ sendScreenLockEvent(event: String, parameter: number, callback: AsyncCallback\): void Sends an event to the screen lock service. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | event | String | Yes| Event type.
- **'unlockScreenResult'**: Screen unlock result.
- **'screenDrawDone'**: Screen drawing is complete.| | parameter | number | Yes| Screen unlock status.
- **0**: The unlock is successful.
- **0**: The unlock failed.
- **2**: The unlock was canceled.| | callback | AsyncCallback\ | Yes| Callback used to return the result.| **Example** ```js screenlock.sendScreenLockEvent('unlockScreenResult', 0, (err, result) => { console.log('sending result:' + result); }); ``` ## screenlock.sendScreenLockEvent9+ sendScreenLockEvent(event: String, parameter: number): Promise Sends an event to the screen lock service. This API uses a promise to return the result. **System capability**: SystemCapability.MiscServices.ScreenLock **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | event | String | Yes| Event type.
- **'unlockScreenResult'**: Screen unlock result.
- **'screenDrawDone'**: Screen drawing is complete.| | parameter | number | Yes| Screen unlock status.
- **0**: The unlock is successful.
- **0**: The unlock failed.
- **2**: The unlock was canceled.| **Return value** | Type| Description| | -------- | -------- | | Promise\ | Promise used to return the result.| **Example** ```js screenlock.sendScreenLockEvent('unlockScreenResult', 0).then((err, result) => { console.log('sending result:' + result); }); ```