数据防泄漏(DLP)是系统提供的系统级的数据防泄漏解决方案,提供跨设备的文件的权限管理、加密存储、授权访问等能力。
说明:
本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
import { dlpPermission } from '@kit.DataLossPreventionKit';
isDLPFile(fd: number): Promise<boolean>
根据文件的fd,查询该文件是否是DLP文件。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 文件的fd(file descriptor, 文件描述符)。 |
返回值:
类型 | 说明 |
---|---|
Promise<boolean> | Promise对象。返回true表示是DLP文件,返回false表示非DLP文件。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { fileIo } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uri = "file://docs/storage/Users/currentUser/Desktop/test.txt.dlp";
let file = fileIo.openSync(uri);
try {
let res = dlpPermission.isDLPFile(file.fd); // 是否加密DLP文件
console.info('res', res);
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
fileIo.closeSync(file);
isDLPFile(fd: number, callback: AsyncCallback<boolean>): void
根据文件的fd,查询该文件是否是DLP文件。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fd | number | 是 | 文件的fd。 |
callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示是DLP文件,返回false表示非DLP文件。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { fileIo } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uri = "file://docs/storage/Users/currentUser/Desktop/test.txt.dlp";
let file = fileIo.openSync(uri);
try {
dlpPermission.isDLPFile(file.fd, (err, res) => {
if (err != undefined) {
console.error('isDLPFile error,', err.code, err.message);
} else {
console.info('res', res);
}
fileIo.closeSync(file);
});
} catch (err) {
console.error('isDLPFile error,', (err as BusinessError).code, (err as BusinessError).message);
fileIo.closeSync(file);
}
getDLPPermissionInfo(): Promise<DLPPermissionInfo>
查询当前DLP沙箱的权限信息。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
Promise<DLPPermissionInfo> | Promise对象。返回查询的DLP文件的权限信息,无异常则表明查询成功。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100001 | Invalid parameter value. |
19100006 | No permission to call this API, which is available only for DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.isInSandbox().then((inSandbox) => { // 是否在沙箱内
if (inSandbox) {
let res: Promise<dlpPermission.DLPPermissionInfo> = dlpPermission.getDLPPermissionInfo(); // 获取当前权限信息
console.info('res', JSON.stringify(res));
}
});
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
getDLPPermissionInfo(callback: AsyncCallback<DLPPermissionInfo>): void
查询当前DLP沙箱的权限信息。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<DLPPermissionInfo> | 是 | 回调函数。err为undefine时表示查询成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100006 | No permission to call this API, which is available only for DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { fileIo } from '@kit.CoreFileKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.isInSandbox().then((inSandbox) => { // 是否在沙箱内
if (inSandbox) {
dlpPermission.getDLPPermissionInfo((err, res) => {
if (err != undefined) {
console.error('getDLPPermissionInfo error,', err.code, err.message);
} else {
console.info('res', JSON.stringify(res));
}
}); // 获取当前权限信息
}
});
} catch (err) {
console.error('getDLPPermissionInfo error,', (err as BusinessError).code, (err as BusinessError).message);
}
getOriginalFileName(fileName: string): string
获取指定DLP文件名的原始文件名。接口为同步接口。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fileName | string | 是 | 指定要查询的文件名。 |
返回值:
类型 | 说明 |
---|---|
string | 返回DLP文件的原始文件名。例如:DLP文件名为test.txt.dlp,则返回的原始文件名为test.txt。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let res = dlpPermission.getOriginalFileName('test.txt.dlp'); // 获取原始文件名
console.info('res', res);
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
getDLPSuffix(): string
获取DLP文件扩展名。接口为同步接口。
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
string | 返回DLP文件扩展名。例如:原文件"text.txt",返回拓展名为".dlp",加密后的DLP文件名为"test.txt.dlp"。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let res = dlpPermission.getDLPSuffix(); // 获取DLP拓展名
console.info('res', res);
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
on(type: 'openDLPFile', listener: Callback<AccessedDLPFileInfo>): void
监听打开DLP文件。在当前应用的沙箱应用打开DLP文件时,通知当前应用。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | 'openDLPFile' | 是 | 监听事件类型。固定值为'openDLPFile':打开DLP文件事件。 |
listener | Callback<AccessedDLPFileInfo> | 是 | DLP文件打开事件的回调。在当前应用的沙箱应用打开DLP文件时,通知当前应用。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. |
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.on('openDLPFile', (info: dlpPermission.AccessedDLPFileInfo) => {
console.info('openDlpFile event', info.uri, info.lastOpenTime)
}); // 订阅
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
off(type: 'openDLPFile', listener?: Callback<AccessedDLPFileInfo>): void
取消监听打开DLP文件。在当前应用的沙箱应用打开DLP文件时,取消通知当前应用。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | 'openDLPFile' | 是 | 监听事件类型。固定值为'openDLPFile':打开DLP文件事件。 |
listener | Callback<AccessedDLPFileInfo> | 否 | DLP文件被打开的事件的回调。在当前应用的沙箱应用打开DLP文件时,取消通知当前应用。默认为空,表示取消该类型事件的所有回调。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. |
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.off('openDLPFile', (info: dlpPermission.AccessedDLPFileInfo) => {
console.info('openDlpFile event', info.uri, info.lastOpenTime)
}); // 取消订阅
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
isInSandbox(): Promise<boolean>
查询当前应用是否运行在DLP沙箱环境。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
Promise<boolean> | Promise对象。返回当前应用是否运行在沙箱中。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let inSandbox = dlpPermission.isInSandbox(); // 是否在沙箱内
console.info('res', inSandbox);
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
isInSandbox(callback: AsyncCallback<boolean>): void
查询当前应用是否运行在DLP沙箱环境。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 回调函数。err为undefine时表示查询成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.isInSandbox((err, data) => {
if (err) {
console.error('isInSandbox error,', err.code, err.message);
} else {
console.info('isInSandbox, data', JSON.stringify(data));
}
}); // 是否在沙箱内
} catch (err) {
console.error('isInSandbox error,', (err as BusinessError).code, (err as BusinessError).message);
}
getDLPSupportedFileTypes(): Promise<Array<string>>
查询当前可支持权限设置和校验的文件扩展名类型列表。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
Promise<Array<string>> | Promise对象。返回当前可支持权限设置和校验的文件扩展名类型列表。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let res = dlpPermission.getDLPSupportedFileTypes(); // 获取支持DLP的文件类型
console.info('res', JSON.stringify(res));
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
getDLPSupportedFileTypes(callback: AsyncCallback<Array<string>>): void
查询当前可支持权限设置和校验的文件扩展名类型列表。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<Array<string>> | 是 | 回调函数。err为undefine时表示查询成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.getDLPSupportedFileTypes((err, res) => {
if (err != undefined) {
console.error('getDLPSupportedFileTypes error,', err.code, err.message);
} else {
console.info('res', JSON.stringify(res));
}
}); // 获取支持DLP的文件类型
} catch (err) {
console.error('getDLPSupportedFileTypes error,', (err as BusinessError).code, (err as BusinessError).message);
}
setRetentionState(docUris: Array<string>): Promise<void>
打开DLP文件时自动安装沙箱,关闭DLP文件时自动卸载沙箱。设置沙箱保留状态时DLP文件关闭时自动卸载暂时失效。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
docUris | Array<string> | 是 | 表示需要设置保留状态的文件uri列表。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100006 | No permission to call this API, which is available only for DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uri = "file://docs/storage/Users/currentUser/Desktop/test.txt.dlp";
try {
dlpPermission.isInSandbox().then((inSandbox) => { // 是否在沙箱内
if (inSandbox) {
dlpPermission.setRetentionState([uri]); // 设置沙箱保留
}
});
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
setRetentionState(docUris: Array<string>, callback: AsyncCallback<void>): void
打开DLP文件时自动安装沙箱,关闭DLP文件时自动卸载沙箱。设置沙箱保留状态时DLP文件关闭时自动卸载暂时失效。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
docUris | Array<string> | 是 | 表示需要设置保留状态的文件uri列表。 |
callback | AsyncCallback<void> | 是 | 回调函数。err为undefine时表示设置成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100006 | No permission to call this API, which is available only for DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uri = "file://docs/storage/Users/currentUser/Desktop/test.txt.dlp";
try {
dlpPermission.setRetentionState([uri], (err, res) => {
if (err != undefined) {
console.error('setRetentionState error,', err.code, err.message);
} else {
console.info('setRetentionState success');
console.info('res', JSON.stringify(res));
}
}); // 设置沙箱保留
} catch (err) {
console.error('setRetentionState error,', (err as BusinessError).code, (err as BusinessError).message);
}
cancelRetentionState(docUris: Array<string>): Promise<void>
取消沙箱保留状态即恢复DLP文件关闭时自动卸载沙箱策略。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
docUris | Array<string> | 是 | 表示需要设置保留状态的文件uri列表。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uri = "file://docs/storage/Users/currentUser/Desktop/test.txt.dlp";
try {
dlpPermission.cancelRetentionState([uri]); // 取消沙箱保留
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
cancelRetentionState(docUris: Array<string>, callback: AsyncCallback<void>): void
取消沙箱保留状态即恢复DLP文件关闭时自动卸载沙箱策略。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
docUris | Array<string> | 是 | 表示需要设置保留状态的文件uri列表。 |
callback | AsyncCallback<void> | 是 | 回调函数。err为undefine时表示设置成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uri = "file://docs/storage/Users/currentUser/Desktop/test.txt.dlp";
try {
dlpPermission.cancelRetentionState([uri], (err, res) => {
if (err != undefined) {
console.error('cancelRetentionState error,', err.code, err.message);
} else {
console.info('cancelRetentionState success');
}
}); // 取消沙箱保留
} catch (err) {
console.error('cancelRetentionState error,', (err as BusinessError).code, (err as BusinessError).message);
}
getRetentionSandboxList(bundleName?: string): Promise<Array<RetentionSandboxInfo>>
查询指定应用的保留沙箱信息列表。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 否 | 指定应用包名。默认为空,查询当前应用的保留沙箱信息列表。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<RetentionSandboxInfo>> | Promise对象。返回查询的沙箱信息列表。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let res: Promise<Array<dlpPermission.RetentionSandboxInfo>> = dlpPermission.getRetentionSandboxList(); // 获取沙箱保留列表
console.info('res', JSON.stringify(res))
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
getRetentionSandboxList(bundleName: string, callback: AsyncCallback<Array<RetentionSandboxInfo>>): void
查询指定应用的保留沙箱信息列表。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 指定应用包名。 |
callback | AsyncCallback<Array<RetentionSandboxInfo>> | 是 | 回调函数。err为undefine时表示查询成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.getRetentionSandboxList("bundleName", (err, res) => {
if (err != undefined) {
console.error('getRetentionSandboxList error,', err.code, err.message);
} else {
console.info('res', JSON.stringify(res));
}
}); // 获取沙箱保留列表
} catch (err) {
console.error('getRetentionSandboxList error,', (err as BusinessError).code, (err as BusinessError).message);
}
getRetentionSandboxList(callback: AsyncCallback<Array<RetentionSandboxInfo>>): void
查询指定应用的保留沙箱信息列表。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<Array<RetentionSandboxInfo>> | 是 | 回调函数。err为undefine时表示查询成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.getRetentionSandboxList((err, res) => {
if (err != undefined) {
console.error('getRetentionSandboxList error,', err.code, err.message);
} else {
console.info('res', JSON.stringify(res));
}
}); // 获取沙箱保留列表
} catch (err) {
console.error('getRetentionSandboxList error,', (err as BusinessError).code, (err as BusinessError).message);
}
getDLPFileAccessRecords(): Promise<Array<AccessedDLPFileInfo>>
查询最近访问的DLP文件列表。使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
Promise<Array<AccessedDLPFileInfo>> | Promise对象。返回最近访问的DLP文件列表。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let res: Promise<Array<dlpPermission.AccessedDLPFileInfo>> = dlpPermission.getDLPFileAccessRecords(); // 获取DLP访问列表
console.info('res', JSON.stringify(res))
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
getDLPFileAccessRecords(callback: AsyncCallback<Array<AccessedDLPFileInfo>>): void
查询最近访问的DLP文件列表。使用callback方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<Array<AccessedDLPFileInfo>> | 是 | 回调函数。err为undefine时表示查询成功;否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.getDLPFileAccessRecords((err, res) => {
if (err != undefined) {
console.error('getDLPFileAccessRecords error,', err.code, err.message);
} else {
console.info('res', JSON.stringify(res));
}
}); // 获取DLP访问列表
} catch (err) {
console.error('getDLPFileAccessRecords error,', (err as BusinessError).code, (err as BusinessError).message);
}
startDLPManagerForResult(context: common.UIAbilityContext, want: Want): Promise<DLPManagerResult>
在当前UIAbility界面以无边框形式打开DLP权限管理应用。使用Promise方式异步返回结果。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
context | common.UIAbilityContext | 是 | 当前窗口UIAbility上下文。 |
want | Want | 是 | 请求对象。 |
返回值:
类型 | 说明 |
---|---|
Promise<DLPManagerResult> | Promise对象。打开DLP权限管理应用并退出后的结果。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
19100016 | uri missing in want. |
19100017 | displayName missing in want. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { common, UIAbility, AbilityConstant, Want } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let context = getContext() as common.UIAbilityContext; // 获取当前UIAbilityContext
let want: Want = {
"uri": "file://docs/storage/Users/currentUser/Desktop/1.txt",
"parameters": {
"displayName": "1.txt"
}
}; // 请求参数
dlpPermission.startDLPManagerForResult(context, want).then((res) => {
console.info('res.resultCode', res.resultCode);
console.info('res.want', JSON.stringify(res.want));
}); // 打开DLP权限管理应用
} catch (err) {
console.error('error', err.code, err.message); // 失败报错
}
setSandboxAppConfig(configInfo: string): Promise<void>
设置沙箱应用配置信息,使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
configInfo | string | 是 | 沙箱应用配置信息。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
19100018 | Not authorized application. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.setSandboxAppConfig('configInfo'); // 设置沙箱应用配置信息
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
cleanSandboxAppConfig(): Promise<void>
清理沙箱应用配置信息,使用Promise方式异步返回结果。
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100001 | Invalid parameter value. |
19100007 | No permission to call this API, which is available only for non-DLP sandbox applications. |
19100011 | The system ability works abnormally. |
19100018 | Not authorized application. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.cleanSandboxAppConfig(); // 清理沙箱应用配置信息
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
getSandboxAppConfig(): Promise<string>
获取沙箱应用配置信息,使用Promise方式异步返回结果
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
Promise<string> | Promise对象。返回沙箱应用配置信息。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100001 | Invalid parameter value. |
19100011 | The system ability works abnormally. |
19100018 | Not authorized application. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
dlpPermission.getSandboxAppConfig().then((res) => {
console.info('res', JSON.stringify(res));
}); // 获取沙箱应用配置信息
} catch (err) {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
}
isDLPFeatureProvided(): Promise<boolean>
查询当前系统是否提供DLP特性,使用Promise方式异步返回结果
系统能力: SystemCapability.Security.DataLossPrevention
返回值:
类型 | 说明 |
---|---|
Promise<boolean> | Promise对象。返回当前系统是否提供DLP特性。 |
错误码:
以下错误码的详细介绍请参见DLP服务错误码。
错误码ID | 错误信息 |
---|---|
19100011 | The system ability works abnormally. |
示例:
import { dlpPermission } from '@kit.DataLossPreventionKit';
import { BusinessError } from '@kit.BasicServicesKit';
dlpPermission.isDLPFeatureProvided().then((res) => {
console.info('res', JSON.stringify(res));
}).catch((err: BusinessError) => {
console.error('error', (err as BusinessError).code, (err as BusinessError).message); // 失败报错
});
可以对DLP文件进行的操作类型枚举。例如:DLP沙箱应用可以根据是否具有操作权限,对其按钮进行置灰
系统能力: SystemCapability.Security.DataLossPrevention
名称 | 值 | 说明 |
---|---|---|
ACTION_VIEW | 0x00000001 | 表示文件的查看权限。 |
ACTION_SAVE | 0x00000002 | 表示文件的保存权限。 |
ACTION_SAVE_AS | 0x00000004 | 表示文件的另存为权限。 |
ACTION_EDIT | 0x00000008 | 表示文件的编辑权限。 |
ACTION_SCREEN_CAPTURE | 0x00000010 | 表示文件的截屏权限。 |
ACTION_SCREEN_SHARE | 0x00000020 | 表示文件的共享屏幕权限。 |
ACTION_SCREEN_RECORD | 0x00000040 | 表示文件的录屏权限。 |
ACTION_COPY | 0x00000080 | 表示文件的复制权限。 |
ACTION_PRINT | 0x00000100 | 表示文件的打印权限。 |
ACTION_EXPORT | 0x00000200 | 表示文件的导出权限。 |
ACTION_PERMISSION_CHANGE | 0x00000400 | 表示文件的修改文件权限。 |
DLP文件授权类型的枚举。
系统能力: SystemCapability.Security.DataLossPrevention
名称 | 值 | 说明 |
---|---|---|
NO_PERMISSION | 0 | 表示无文件权限。 |
READ_ONLY | 1 | 表示文件的只读权限。 |
CONTENT_EDIT | 2 | 表示文件的编辑权限。 |
FULL_CONTROL | 3 | 表示文件的完全控制权限。 |
表示DLP文件的权限信息。
系统能力: SystemCapability.Security.DataLossPrevention
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
dlpFileAccess | DLPFileAccess | 是 | 否 | 表示DLP文件针对用户的授权类型,例如:只读 |
flags | number | 是 | 否 | 表示DLP文件的详细操作权限,是不同ActionFlagType的组合。 |
表示被打开的DLP文件的信息。
系统能力: SystemCapability.Security.DataLossPrevention
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
uri | string | 是 | 否 | 表示DLP文件的uri。 |
lastOpenTime | number | 是 | 否 | 表示DLP文件最近打开时间。 |
表示打开DLP权限管理应用的结果。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.Security.DataLossPrevention
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
resultCode | number | 是 | 否 | 表示打开DLP权限管理应用并退出后返回的结果码。 |
want | Want | 是 | 否 | 表示打开DLP权限管理应用并退出后返回的数据。 |
保留沙箱的沙箱信息。
系统能力: SystemCapability.Security.DataLossPrevention
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
appIndex | number | 是 | 否 | 表示DLP沙箱应用索引。 |
bundleName | string | 是 | 否 | 表示应用包名。 |
docUris | Array<string> | 是 | 否 | 表示DLP文件的URI列表。 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。