鸿蒙开发设备管理:ohos.runningLock Runninglock锁

电子说

1.3w人已加入

描述

Runninglock锁

该模块主要提供Runninglock锁相关操作的接口,包括创建、查询、持锁、释放锁等操作。

接口说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

导入模块

import runningLock from '@ohos.runningLock';

RunningLockType

RunningLock锁的类型。

系统能力: 以下各项对应的系统能力均为SystemCapability.PowerManager.PowerManager.Core

名称默认值描述
BACKGROUND1阻止系统休眠的锁。
PROXIMITY_SCREEN_CONTROL2通过接近或者远离状态来控制亮灭屏的锁。

isRunningLockTypeSupported

isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback): void

查询系统是否支持该类型的锁。

系统能力: SystemCapability.PowerManager.PowerManager.Core

参数:

参数名类型必填说明
typeRunningLockType需要查询的锁的类型。
callbackAsyncCallback指定的callback回调方法,用于获取返回值。 callback返回值:支持返回true,不支持返回false。

示例:

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

查询系统是否支持该类型的锁。

系统能力: SystemCapability.PowerManager.PowerManager.Core

参数:

参数名类型必填说明
typeRunningLockType需要查询的锁的类型。

返回值:

类型说明
PromisePromise实例,用于异步获取返回值,支持返回true,不支持返回false。

示例:

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): void

创建RunningLock锁。

系统能力: SystemCapability.PowerManager.PowerManager.Core

需要权限: ohos.permission.RUNNING_LOCK

参数:

参数名类型必填说明
namestring锁的名字。
typeRunningLockType要创建的锁的类型。
callbackAsyncCallback<[RunningLock]>指定的callback回调方法,用于获取返回的RunningLock锁对象。

示例:

runningLock.createRunningLock("running_lock_test", runningLock.RunningLockType.BACKGROUND, (error, lockIns) = > {
    if (typeof error === "undefined") {
        console.log('create runningLock test error: ' + error);
    } else {
        var used = lockIns.isUsed();
        console.info('runninglock is used: ' + used);
        lockIns.lock(500);
        used = lockIns.isUsed();
        console.info('after lock runninglock is used ' + used);
    }
})

createRunningLock

createRunningLock(name: string, type: RunningLockType): Promise

创建Runninglock锁。

系统能力: SystemCapability.PowerManager.PowerManager.Core

需要权限: ohos.permission.RUNNING_LOCK

参数:

参数名类型必填说明
namestring锁的名字。
typeRunningLockType要创建的锁的类型。

返回值:

类型说明
Promise<[RunningLock]>Promise实例,用于异步获取返回的RunningLock锁对象。

示例:

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

阻止系统休眠的锁。

lock

lock(timeout: number): void

锁定和持有RunningLock。

系统能力: SystemCapability.PowerManager.PowerManager.Core

需要权限: ohos.permission.RUNNING_LOCK

参数:

参数名类型必填说明
timeoutnumber锁定和持有RunningLock的时长,单位:毫秒。

示例:

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

释放Runninglock锁。

系统能力: SystemCapability.PowerManager.PowerManager.Core

需要权限: ohos.permission.RUNNING_LOCK

示例:

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

查询当前Runninglock是持有状态还是释放状态。

系统能力: SystemCapability.PowerManager.PowerManager.Core

返回值:

类型说明
boolean当前RunningLock是持有状态返回true,释放状态返回false。HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

接口

示例:

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)
});

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分