Running Lock
NOTE
The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
The Running Lock module provides APIs for creating, querying, holding, and releasing running locks.
Modules to Import
import runningLock from '@ohos.runningLock';
RunningLockType
Enumerates the types of RunningLock objects.
System capability: SystemCapability.PowerManager.PowerManager.Core
Name | Default Value | Description |
---|---|---|
BACKGROUND | 1 | A lock that prevents the system from hibernating when the screen is off. |
PROXIMITY_SCREEN_CONTROL | 2 | A lock that determines whether to turn on or off the screen based on the distance away from the screen. |
isRunningLockTypeSupported
isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback<boolean>): void
Checks whether a specified type of RunningLock is supported. This function uses an asynchronous callback to return the result.
System capability: SystemCapability.PowerManager.PowerManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | RunningLockType | Yes | Type of the RunningLock object. |
callback | AsyncCallback<boolean> | Yes | Callback used to obtain the return value. Return value: The value true indicates that the specified type of RunningLock is supported, and the value false indicates the opposite. |
Example
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND, (error, supported) => {
if (typeof error === "undefined") {
console.info('BACKGROUND support status is ' + supported);
} else {
console.log('error: ' + error);
}
})
isRunningLockTypeSupported
isRunningLockTypeSupported(type: RunningLockType): Promise<boolean>
Checks whether a specified type of RunningLock is supported. This function uses an asynchronous callback to return the result.
System capability: SystemCapability.PowerManager.PowerManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | RunningLockType | Yes | Type of the RunningLock object. |
Return Value
Type | Description |
---|---|
Promise<boolean> | Promise used to asynchronously obtain the return value. Return value: The value true indicates that the specified type of RunningLock is supported, and the value false indicates the opposite. |
Example
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL)
.then(supported => {
console.info('PROXIMITY_SCREEN_CONTROL support status is ' + supported);
})
.catch(error => {
console.log('error: ' + error);
});
createRunningLock
createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback<RunningLock>): void
Creates a RunningLock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Required permission: ohos.permission.RUNNING_LOCK
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the RunningLock object. |
type | RunningLockType | Yes | Type of the RunningLock object to be created. |
callback | AsyncCallback<RunningLock> | Yes | Callback used to obtain the return value. |
Example
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND, (error, lockIns) => {
if (typeof error === "undefined") {
var used = lockIns.isUsed();
console.info('runninglock is used: ' + used);
lockIns.lock(500);
used = lockIns.isUsed();
console.info('after lock runninglock is used ' + used);
} else {
console.log('create runningLock test error: ' + error);
}
})
createRunningLock
createRunningLock(name: string, type: RunningLockType): Promise<RunningLock>
Creates a RunningLock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Required permission: ohos.permission.RUNNING_LOCK
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
name | string | Yes | Name of the RunningLock object. |
type | RunningLockType | Yes | Type of the RunningLock object to be created. |
Return Value
Type | Description |
---|---|
Promise<RunningLock> | Promise used to asynchronously obtain the returned RunningLock object. |
Example
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runninglock => {
console.info('create runningLock success');
})
.catch(error => {
console.log('create runningLock test error: ' + error);
})
RunningLock
Defines a RunningLock object.
lock
lock(timeout: number): void
Locks and holds a RunningLock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Required permission: ohos.permission.RUNNING_LOCK
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
timeout | number | No | Duration for locking and holding the RunningLock object, in ms. |
Example
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runningLock => {
runningLock.lock(100)
console.info('create runningLock success')
})
.catch(error => {
console.log('create runningLock test error: ' + error)
});
unlock
unlock(): void
Releases a Runninglock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Required permission: ohos.permission.RUNNING_LOCK
Example
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runningLock => {
runningLock.unlock()
console.info('create and unLock runningLock success')
})
.catch(error => {
console.log('create runningLock test error: ' + error)
});
isUsed
isUsed(): boolean
Checks the status of the Runninglock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Return Value
Type | Description |
---|---|
boolean | Returns true if the Runninglock object is held; returns false if the Runninglock object is released. |
Example
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND)
.then(runningLock => {
var used = runningLock.isUsed()
console.info('runningLock used status: ' + used)
})
.catch(error => {
console.log('runningLock isUsed test error: ' + error)
});