1# @ohos.ability.screenLockFileManager (锁屏敏感数据管理)(系统接口) 2 3敏感数据密钥在锁屏后会触发销毁,销毁后敏感数据无法读写,需解锁屏幕触发恢复敏感数据密钥后方可访问。本模块提供应用锁屏下敏感数据保护的能力,支持申请和释放锁屏下敏感数据访问权限等。 4 5> **说明:** 6> - 本模块首批接口从API version 12 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 7> 8> - 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.ability.screenLockFileManager](js-apis-screenLockFileManager.md)。 9 10## 导入模块 11 12```ts 13import { screenLockFileManager } from '@kit.AbilityKit'; 14``` 15 16## DataType 17 18枚举,指定锁屏下访问的敏感数据类型。 19 20 **系统能力:** SystemCapability.Security.ScreenLockFileManager 21 22 **系统接口:** 此接口为系统接口。 23 24| 名称 | 值 | 说明 | 25| ---------- | ---------- | -------------- | 26| MEDIA_DATA | 0x00000001 | 媒体类型数据。 | 27| ALL_DATA | 0xffffffff | 所有敏感加密数据。 | 28 29## screenLockFileManager.acquireAccess 30 31acquireAccess(dataType: DataType): AccessStatus 32 33以同步方法申请锁屏下指定类型的敏感数据访问权限。 锁屏后,敏感数据无法被访问,但可通过调用该方法,访问指定类型的敏感数据。 34 35**系统接口:** 此接口为系统接口。 36 37**需要权限:** ohos.permission.ACCESS_SCREEN_LOCK_MEDIA_DATA 或 ohos.permission.ACCESS_SCREEN_LOCK_ALL_DATA 38 39**系统能力:** SystemCapability.Security.ScreenLockFileManager 40 41**参数:** 42 43| 参数名 | 类型 | 必填 | 说明 | 44| ----------- | ------ | ---- | ---------------------------- | 45| dataType | [DataType](#datatype) | 是 | 锁屏下访问的敏感数据类型。 | 46 47**返回值:** 48 49| 类型 | 说明 | 50| ----------------------------------------------------------- | ------------------------------------- | 51| [AccessStatus](js-apis-screenLockFileManager.md#accessstatus) | 锁屏下敏感数据访问权限申请的状态。 | 52 53**错误码:** 54 55以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.screenLockFileManager错误码](errorcode-screenLockFileManager.md)。 56 57| 错误码ID | 错误信息 | 58| -------- | ------------------------------------------------------------ | 59| 201 | Permission verification failed, usually returned by VerifyAccessToken. | 60| 202 | Permission verification failed, application which is not a system application uses system API. | 61| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 62| 801 | The specified SystemCapability name was not found. | 63| 29300001 | Invalid parameter. | 64| 29300002 | The system ability work abnormally. | 65| 29300003 | The application is not enabled the data protection under lock screen. | 66| 29300004 | File access is denied. | 67 68**示例:** 69 70```ts 71// 申请锁屏下媒体类型数据的访问权限 72import { screenLockFileManager } from '@kit.AbilityKit'; 73import { BusinessError } from '@kit.BasicServicesKit'; 74import { hilog } from '@kit.PerformanceAnalysisKit'; 75 76try { 77 let acquireStatus = screenLockFileManager.acquireAccess(screenLockFileManager.DataType.MEDIA_DATA); 78 if (acquireStatus === screenLockFileManager.AccessStatus.ACCESS_GRANTED) { 79 hilog.info(0x0000, 'testTag', 'acquireAccess successfully.'); 80 } 81} catch (err) { 82 let message = (err as BusinessError).message; 83 hilog.error(0x0000, 'testTag', 'acquireAccess failed: %{public}s', message); 84} 85``` 86 87## screenLockFileManager.releaseAccess 88 89releaseAccess(dataType: DataType): ReleaseStatus 90 91以同步方法取消锁屏下指定类型敏感数据访问权限。 92 93**系统接口:** 此接口为系统接口。 94 95**需要权限:** ohos.permission.ACCESS_SCREEN_LOCK_MEDIA_DATA 或 ohos.permission.ACCESS_SCREEN_LOCK_ALL_DATA 96 97**系统能力:** SystemCapability.Security.ScreenLockFileManager 98 99**参数:** 100 101| 参数名 | 类型 | 必填 | 说明 | 102| ----------- | ------ | ---- | ---------------------------- | 103| dataType | [DataType](#datatype) | 是 | 锁屏下访问的敏感数据类型。 | 104 105**返回值:** 106 107| 类型 | 说明 | 108| ------------------------------------------------------------ | ------------------------------ | 109| [ReleaseStatus](js-apis-screenLockFileManager.md#releasestatus) | 锁屏下敏感数据访问权限释放的状态。 | 110 111**错误码:** 112 113以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[ohos.screenLockFileManager错误码](errorcode-screenLockFileManager.md)。 114 115| 错误码ID | 错误信息 | 116| -------- | ------------------------------------------------------------ | 117| 201 | Permission verification failed, usually returned by VerifyAccessToken. | 118| 202 | Permission verification failed, application which is not a system application uses system API. | 119| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 120| 801 | The specified SystemCapability name was not found. | 121| 29300001 | Invalid parameter. | 122| 29300002 | The system ability work abnormally. | 123| 29300003 | The application is not enabled the data protection under lock screen. | 124| 29300005 | File access was not acquired. | 125 126**示例:** 127 128```ts 129// 释放锁屏下媒体类型数据的访问权限 130import { screenLockFileManager } from '@kit.AbilityKit'; 131import { BusinessError } from '@kit.BasicServicesKit'; 132import { hilog } from '@kit.PerformanceAnalysisKit'; 133 134try { 135 let releaseStatus = screenLockFileManager.releaseAccess(screenLockFileManager.DataType.MEDIA_DATA); 136 if (releaseStatus === screenLockFileManager.ReleaseStatus.RELEASE_GRANTED) { 137 hilog.info(0x0000, 'testTag', 'releaseAccess successfully.'); 138 } 139} catch (err) { 140 let message = (err as BusinessError).message; 141 hilog.error(0x0000, 'testTag', 'releaseAccess failed: %{public}s', message); 142} 143```