Runninglock锁
说明: 从 API Version 7 开始支持。
导入模块
import runninglock from '@runninglock';
权限
申请、使用锁的权限:ohos.permission.RUNNING_LOCK
RunningLockType
Runninglock锁的类型。
runninglock.isRunningLockTypeSupported
isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback<boolean>): void
查询系统是否支持该类型的锁。
-
参数:
-
示例:
runningLock.isRunningLockTypeSupported(runningLock.RunningLockType.BACKGROUND, (error, supported) => { if (typeof error === "undefined") { console.info('BACKGROUND support status is ' + supported); done(); } else { console.log('error: ' + error); done(); } })
runninglock.isRunningLockTypeSupported
isRunningLockTypeSupported(type: RunningLockType): Promise<boolean>
查询系统是否支持该类型的锁。
-
参数:
-
返回值:
-
示例:
runninglock.isRunningLockTypeSupported(runninglock.RunningLockType.PROXIMITY_SCREEN_CONTROL) .then(supported => { console.info('PROXIMITY_SCREEN_CONTROL support status is ' + supported); done(); }) .catch(error => { console.log('error: ' + error); done(); });
runningLock.createRunningLock
createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback<RunningLock>): void
创建Runninglock锁。
-
参数:
AsyncCallback<RunningLock>
-
示例:
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) .then(runninglock => { var used = runninglock.isUsed(); console.info('runninglock is used: ' + used); runninglock.lock(500); used = runninglock.isUsed(); console.info('after lock runninglock is used ' + used); done(); }) .catch(error => { console.log('create runningLock test error: ' + error); done(); })
runningLock.createRunningLock
createRunningLock(name: string, type: RunningLockType): Promise<RunningLock>
创建Runninglock锁。
-
参数:
-
返回值:
Promise<RunningLock>
-
示例:
runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND) .then(runninglock => { console.info('create runningLock success'); done(); }) .catch(error => { console.log('create runningLock test error: ' + error); done(); })
RunningLock
阻止系统休眠的锁。
lock
lock(timeout: number): void
锁定和持有RunningLock
-
参数:
-
示例:
runninglock.createRunningLock("running_lock_test", runninglock.RunningLockType.BACKGROUND) .then(runningLock => { runningLock.lock(100) console.info('create runningLock success') }) .catch(error => { console.log('Lock runningLock test error: ' + error) });
unlock
unlock(): void
释放Runninglock锁。
-
示例:
runninglock.createRunningLock("running_lock_test", runninglock.RunningLockType.BACKGROUND) .then(runningLock => { runningLock.unlock() console.info('unLock runningLock success') }) .catch(error => { console.log('unLock runningLock test error: ' + error) });
isUsed
isUsed(): boolean
查询当前Runninglock是持有状态,还是释放状态。
-
返回值:
-
示例:
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) });