harmony 鸿蒙@ohos.runningLock (Running Lock)
@ohos.runningLock (Running Lock)
The runningLock module provides APIs for creating, querying, holding, and releasing running locks.
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.
Modules to Import
import {runningLock} from '@kit.BasicServicesKit';
runningLock.isSupported9+
isSupported(type: RunningLockType): boolean;
Checks whether the specified type of running locks is supported.
System capability: SystemCapability.PowerManager.PowerManager.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | RunningLockType | Yes | Type of the running lock. The value must be an enum. |
Return value
Type | Description |
---|---|
boolean | The value true indicates that the specified type of running locks is supported, and the value false indicates the opposite. |
Error codes
For details about the error codes, see RunningLock Error Codes.
ID | Error Message |
---|---|
4900101 | Failed to connect to the service. |
401 | Parameter error. Possible causes: 1.Incorrect parameter types; 2.Parameter verification failed. |
Example
try {
let isSupported = runningLock.isSupported(runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL);
console.info('BACKGROUND type supported: ' + isSupported);
} catch(err) {
console.error('check supported failed, err: ' + err);
}
runningLock.create9+
create(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 running lock. The value must be a string. |
type | RunningLockType | Yes | Type of the running lock. The value must be an enum. |
callback | AsyncCallback<RunningLock> | Yes | Callback used to return the result. If the operation is successful, err is undefined and data is the created RunningLock object. Otherwise, err is an error object. AsyncCallback has encapsulated an API of the RunningLock class. |
Error codes
For details about the error codes, see RunningLock Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Parameter verification failed. |
201 | If the permission is denied. |
Example
runningLock.create('running_lock_test', runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL, (err: Error, lock: runningLock.RunningLock) => {
if (typeof err === 'undefined') {
console.info('created running lock: ' + lock);
} else {
console.error('create running lock failed, err: ' + err);
}
});
runningLock.create9+
create(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 running lock. The value must be a string. |
type | RunningLockType | Yes | Type of the running lock. The value must be an enum. |
Return value
Type | Description |
---|---|
Promise<RunningLock> | Promise used to return the result. |
Error codes
For details about the error codes, see RunningLock Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Parameter verification failed. |
201 | If the permission is denied. |
Example
runningLock.create('running_lock_test', runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL)
.then((lock: runningLock.RunningLock) => {
console.info('created running lock: ' + lock);
})
.catch((err: Error) => {
console.error('create running lock failed, err: ' + err);
});
runningLock.isRunningLockTypeSupported(deprecated)
isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback<boolean>): void
NOTE
This API is deprecated since API version 9. You are advised to use runningLock.isSupported.
Checks whether the specified type of running locks is supported. This API 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 return the result. If the operation is successful, err is undefined and data is the query result obtained, where the value true indicates that the specified type of RunningLock is supported and false indicates the opposite. Otherwise, err is an error object. |
Example
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND, (err: Error, data: boolean) => {
if (typeof err === 'undefined') {
console.info('BACKGROUND lock support status: ' + data);
} else {
console.log('check BACKGROUND lock support status failed, err: ' + err);
}
});
runningLock.isRunningLockTypeSupported(deprecated)
isRunningLockTypeSupported(type: RunningLockType): Promise<boolean>
NOTE
This API is deprecated since API version 9. You are advised to use runningLock.isSupported.
Checks whether the specified type of running locks is supported. This API uses a promise 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 return the result. 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)
.then((data: boolean) => {
console.info('BACKGROUND lock support status: ' + data);
})
.catch((err: Error) => {
console.log('check BACKGROUND lock support status failed, err: ' + err);
});
runningLock.createRunningLock(deprecated)
createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback<RunningLock>): void
NOTE
This API is deprecated since API version 9. You are advised to use runningLock.create.
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 return the result. If a lock is successfully created, err is undefined and data is the created RunningLock. Otherwise, err is an error object. |
Example
runningLock.createRunningLock('running_lock_test', runningLock.RunningLockType.BACKGROUND, (err: Error, lock: runningLock.RunningLock) => {
if (typeof err === 'undefined') {
console.info('created running lock: ' + lock);
} else {
console.error('create running lock failed, err: ' + err);
}
});
runningLock.createRunningLock(deprecated)
createRunningLock(name: string, type: RunningLockType): Promise<RunningLock>
NOTE
This API is deprecated since API version 9. You are advised to use runningLock.create.
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 return the result. |
Example
runningLock.createRunningLock('running_lock_test', runningLock.RunningLockType.BACKGROUND)
.then((lock: runningLock.RunningLock) => {
console.info('created running lock: ' + lock);
})
.catch((err: Error) => {
console.log('create running lock failed, err: ' + err);
});
RunningLock
Defines a RunningLock object.
hold9+
hold(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 | Yes | Duration for locking and holding the RunningLock object, in ms. The value must be a number: -1: The lock is permanently held and needs to be released automatically. 0: The lock is released 3 seconds after the timer expires by default. > 0: The lock is released based on the input value after the timer expires. |
Error codes
For details about the error codes, see RunningLock Error Codes.
ID | Error Message |
---|---|
4900101 | Failed to connect to the service. |
401 | Parameter error. Possible causes: 1. Incorrect parameter types; |
201 | If the permission is denied. |
Example
// RunningLockTest.ets
class RunningLockTest {
public static recordLock: runningLock.RunningLock;
public static holdRunningLock(): void {
if (RunningLockTest.recordLock) {
RunningLockTest.recordLock.hold(500);
console.info('hold running lock success');
} else {
runningLock.create('running_lock_test', runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL, (err: Error, lock: runningLock.RunningLock) => {
if (typeof err === 'undefined') {
console.info('create running lock: ' + lock);
RunningLockTest.recordLock = lock;
try {
lock.hold(500);
console.info('hold running lock success');
} catch(err) {
console.error('hold running lock failed, err: ' + err);
}
} else {
console.error('create running lock failed, err: ' + err);
}
});
}
}
}
unhold9+
unhold(): void
Releases a RunningLock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Required permission: ohos.permission.RUNNING_LOCK
Error codes
For details about the error codes, see RunningLock Error Codes.
ID | Error Message |
---|---|
4900101 | Failed to connect to the service. |
201 | If the permission is denied. |
Example
// RunningLockTest.ets
class RunningLockTest {
public static recordLock: runningLock.RunningLock;
public static unholdRunningLock(): void {
if (RunningLockTest.recordLock) {
RunningLockTest.recordLock.unhold();
console.info('hold running lock success');
} else {
runningLock.create('running_lock_test', runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL, (err: Error, lock: runningLock.RunningLock) => {
if (typeof err === 'undefined') {
console.info('create running lock: ' + lock);
RunningLockTest.recordLock = lock;
try {
lock.unhold();
console.info('unhold running lock success');
} catch(err) {
console.error('unhold running lock failed, err: ' + err);
}
} else {
console.error('create running lock failed, err: ' + err);
}
});
}
}
}
isHolding9+
isHolding(): boolean
Checks the hold status of the RunningLock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Return value
Type | Description |
---|---|
boolean | The value true indicates that the RunningLock object is held; and the value false indicates that the RunningLock object is released. |
Error codes
For details about the error codes, see RunningLock Error Codes.
ID | Error Message |
---|---|
4900101 | Failed to connect to the service. |
Example
// RunningLockTest.ets
class RunningLockTest {
public static recordLock: runningLock.RunningLock;
public static isHoldingRunningLock(): void {
if (RunningLockTest.recordLock) {
let isHolding = RunningLockTest.recordLock.isHolding();
console.info('check running lock holding status: ' + isHolding);
} else {
runningLock.create('running_lock_test', runningLock.RunningLockType.PROXIMITY_SCREEN_CONTROL, (err: Error, lock: runningLock.RunningLock) => {
if (typeof err === 'undefined') {
console.info('create running lock: ' + lock);
RunningLockTest.recordLock = lock;
try {
let isHolding = lock.isHolding();
console.info('check running lock holding status: ' + isHolding);
} catch(err) {
console.error('check running lock holding status failed, err: ' + err);
}
} else {
console.error('create running lock failed, err: ' + err);
}
});
}
}
}
lock(deprecated)
lock(timeout: number): void
NOTE
This API is deprecated since API version 9. You are advised to use RunningLock.hold.
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 | Yes | Duration for locking and holding the RunningLock object, in ms. |
Example
runningLock.createRunningLock('running_lock_test', runningLock.RunningLockType.BACKGROUND)
.then((lock: runningLock.RunningLock) => {
lock.lock(500);
console.info('create running lock and lock success');
})
.catch((err: Error) => {
console.error('create running lock failed, err: ' + err);
});
unlock(deprecated)
unlock(): void
NOTE
This API is deprecated since API version 9. You are advised to use RunningLock.unhold.
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((lock: runningLock.RunningLock) => {
lock.unlock();
console.info('create running lock and unlock success');
})
.catch((err: Error) => {
console.error('create running lock failed, err: ' + err);
});
isUsed(deprecated)
isUsed(): boolean
NOTE
This API is deprecated since API version 9. You are advised to use RunningLock.isHolding.
Checks the hold status of the RunningLock object.
System capability: SystemCapability.PowerManager.PowerManager.Core
Return value |Type |Description | |——-|————————————————————| |boolean|The value true indicates that the RunningLock object is held; and the value false indicates that the RunningLock object is released.|
Example
runningLock.createRunningLock('running_lock_test', runningLock.RunningLockType.BACKGROUND)
.then((lock: runningLock.RunningLock) => {
let isUsed = lock.isUsed();
console.info('check running lock used status: ' + isUsed);
})
.catch((err: Error) => {
console.error('check running lock used status failed, err: ' + err);
});
RunningLockType
Enumerates the types of RunningLock objects.
System capability: SystemCapability.PowerManager.PowerManager.Core
Name | Value | Description |
---|---|---|
BACKGROUND(deprecated) | 1 | A lock that prevents the system from hibernating when the screen is off. NOTE This parameter is supported since API version 7 and deprecated since API version 10. |
PROXIMITY_SCREEN_CONTROL | 2 | A lock that enables the proximity sensor and turns on or off the screen based on the distance between the sensor and the obstacle. |
你可能感兴趣的鸿蒙文章
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦