161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit AbilityKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport { AsyncCallback, Callback } from './@ohos.base'; 2261847f8eSopenharmony_ciimport { Permissions } from './permissions'; 2361847f8eSopenharmony_ci 2461847f8eSopenharmony_ci/** 2561847f8eSopenharmony_ci * @namespace privacyManager 2661847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 2761847f8eSopenharmony_ci * @since 9 2861847f8eSopenharmony_ci */ 2961847f8eSopenharmony_cideclare namespace privacyManager { 3061847f8eSopenharmony_ci /** 3161847f8eSopenharmony_ci * Adds access record of sensitive permission. 3261847f8eSopenharmony_ci * 3361847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 3461847f8eSopenharmony_ci * @param { number } tokenID - Token ID of the application. 3561847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission to be added. 3661847f8eSopenharmony_ci * @param { number } successCount - Access count. 3761847f8eSopenharmony_ci * @param { number } failCount - Reject count. 3861847f8eSopenharmony_ci * @returns { Promise<void> } Promise that returns no value. 3961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 4061847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 4161847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 4261847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, the permissionName exceeds 256 characters, or the count value is invalid. 4361847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 4461847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 4561847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 4661847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 4761847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 4861847f8eSopenharmony_ci * @systemapi 4961847f8eSopenharmony_ci * @since 9 5061847f8eSopenharmony_ci */ 5161847f8eSopenharmony_ci /** 5261847f8eSopenharmony_ci * Adds an access record of a sensitive permission. 5361847f8eSopenharmony_ci * 5461847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 5561847f8eSopenharmony_ci * @param { number } tokenID - Token ID of the application. 5661847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission accessed. 5761847f8eSopenharmony_ci * @param { number } successCount - Number of successful accesses to the permission. 5861847f8eSopenharmony_ci * @param { number } failCount - Number of failed accesses to the permission. 5961847f8eSopenharmony_ci * @param { AddPermissionUsedRecordOptions } options - Options to be added. 6061847f8eSopenharmony_ci * @returns { Promise<void> } Promise that returns no value. 6161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 6261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 6361847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 6461847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, the permissionName exceeds 256 characters, the count value is invalid, 6561847f8eSopenharmony_ci * or usedType in AddPermissionUsedRecordOptions is invalid. 6661847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 6761847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 6861847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 6961847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 7061847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 7161847f8eSopenharmony_ci * @systemapi 7261847f8eSopenharmony_ci * @since 12 7361847f8eSopenharmony_ci */ 7461847f8eSopenharmony_ci function addPermissionUsedRecord( 7561847f8eSopenharmony_ci tokenID: number, 7661847f8eSopenharmony_ci permissionName: Permissions, 7761847f8eSopenharmony_ci successCount: number, 7861847f8eSopenharmony_ci failCount: number, 7961847f8eSopenharmony_ci options?: AddPermissionUsedRecordOptions 8061847f8eSopenharmony_ci ): Promise<void>; 8161847f8eSopenharmony_ci 8261847f8eSopenharmony_ci /** 8361847f8eSopenharmony_ci * Adds access record of sensitive permission. 8461847f8eSopenharmony_ci * 8561847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 8661847f8eSopenharmony_ci * @param { number } tokenID - Token ID of the application. 8761847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission to be added. 8861847f8eSopenharmony_ci * @param { number } successCount - Access count. 8961847f8eSopenharmony_ci * @param { number } failCount - Reject count. 9061847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - Asynchronous callback interface. 9161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 9261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 9361847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 9461847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, the permissionName exceeds 256 characters, or the count value is invalid. 9561847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 9661847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 9761847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 9861847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 9961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 10061847f8eSopenharmony_ci * @systemapi 10161847f8eSopenharmony_ci * @since 9 10261847f8eSopenharmony_ci */ 10361847f8eSopenharmony_ci function addPermissionUsedRecord( 10461847f8eSopenharmony_ci tokenID: number, 10561847f8eSopenharmony_ci permissionName: Permissions, 10661847f8eSopenharmony_ci successCount: number, 10761847f8eSopenharmony_ci failCount: number, 10861847f8eSopenharmony_ci callback: AsyncCallback<void> 10961847f8eSopenharmony_ci ): void; 11061847f8eSopenharmony_ci 11161847f8eSopenharmony_ci /** 11261847f8eSopenharmony_ci * Queries the access records of sensitive permission. 11361847f8eSopenharmony_ci * 11461847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 11561847f8eSopenharmony_ci * @param { PermissionUsedRequest } request - The request of permission used records. 11661847f8eSopenharmony_ci * @returns { Promise<PermissionUsedResponse> } Return the response of permission used records. 11761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 11861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 11961847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 12061847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The value of flag in request is invalid. 12161847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 12261847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 12361847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 12461847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 12561847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 12661847f8eSopenharmony_ci * @systemapi 12761847f8eSopenharmony_ci * @since 9 12861847f8eSopenharmony_ci */ 12961847f8eSopenharmony_ci function getPermissionUsedRecord(request: PermissionUsedRequest): Promise<PermissionUsedResponse>; 13061847f8eSopenharmony_ci 13161847f8eSopenharmony_ci /** 13261847f8eSopenharmony_ci * Queries the access records of sensitive permission. 13361847f8eSopenharmony_ci * 13461847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 13561847f8eSopenharmony_ci * @param { PermissionUsedRequest } request - The request of permission used records. 13661847f8eSopenharmony_ci * @param { AsyncCallback<PermissionUsedResponse> } callback - Return the response of permission used records. 13761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 13861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 13961847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 14061847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The value of flag in request is invalid. 14161847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 14261847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 14361847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 14461847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 14561847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 14661847f8eSopenharmony_ci * @systemapi 14761847f8eSopenharmony_ci * @since 9 14861847f8eSopenharmony_ci */ 14961847f8eSopenharmony_ci function getPermissionUsedRecord( 15061847f8eSopenharmony_ci request: PermissionUsedRequest, 15161847f8eSopenharmony_ci callback: AsyncCallback<PermissionUsedResponse> 15261847f8eSopenharmony_ci ): void; 15361847f8eSopenharmony_ci 15461847f8eSopenharmony_ci /** 15561847f8eSopenharmony_ci * Start using sensitive permission. 15661847f8eSopenharmony_ci * 15761847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 15861847f8eSopenharmony_ci * @param { number } tokenID - Token ID of the application. 15961847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission to be started. 16061847f8eSopenharmony_ci * @returns { Promise<void> } Promise that returns no value. 16161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 16261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 16361847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 16461847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, the permissionName exceeds 256 characters, or the count value is invalid. 16561847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 16661847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 16761847f8eSopenharmony_ci * @throws { BusinessError } 12100004 - The API is used repeatedly with the same input. 16861847f8eSopenharmony_ci * It means the application specified by the tokenID has been using the specified permission. 16961847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 17061847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 17161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 17261847f8eSopenharmony_ci * @systemapi 17361847f8eSopenharmony_ci * @since 9 17461847f8eSopenharmony_ci */ 17561847f8eSopenharmony_ci function startUsingPermission(tokenID: number, permissionName: Permissions): Promise<void>; 17661847f8eSopenharmony_ci 17761847f8eSopenharmony_ci /** 17861847f8eSopenharmony_ci * Start using sensitive permission. 17961847f8eSopenharmony_ci * 18061847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 18161847f8eSopenharmony_ci * @param { number } tokenID - Token ID of the application. 18261847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission to be started. 18361847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - Asynchronous callback interface. 18461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 18561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 18661847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 18761847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, the permissionName exceeds 256 characters, or the count value is invalid. 18861847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 18961847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 19061847f8eSopenharmony_ci * @throws { BusinessError } 12100004 - The API is used repeatedly with the same input. 19161847f8eSopenharmony_ci * It means the application specified by the tokenID has been using the specified permission. 19261847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 19361847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 19461847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 19561847f8eSopenharmony_ci * @systemapi 19661847f8eSopenharmony_ci * @since 9 19761847f8eSopenharmony_ci */ 19861847f8eSopenharmony_ci function startUsingPermission(tokenID: number, permissionName: Permissions, callback: AsyncCallback<void>): void; 19961847f8eSopenharmony_ci 20061847f8eSopenharmony_ci /** 20161847f8eSopenharmony_ci * Stop using sensitive permission. 20261847f8eSopenharmony_ci * 20361847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 20461847f8eSopenharmony_ci * @param { number } tokenID - Token ID of the application. 20561847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission to be stopped. 20661847f8eSopenharmony_ci * @returns { Promise<void> } Promise that returns no value. 20761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 20861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 20961847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 21061847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, the permissionName exceeds 256 characters, or the count value is invalid. 21161847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 21261847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 21361847f8eSopenharmony_ci * @throws { BusinessError } 12100004 - The API is not used in pair with 'startUsingPermission'. 21461847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 21561847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 21661847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 21761847f8eSopenharmony_ci * @systemapi 21861847f8eSopenharmony_ci * @since 9 21961847f8eSopenharmony_ci */ 22061847f8eSopenharmony_ci function stopUsingPermission(tokenID: number, permissionName: Permissions): Promise<void>; 22161847f8eSopenharmony_ci 22261847f8eSopenharmony_ci /** 22361847f8eSopenharmony_ci * Stop using sensitive permission. 22461847f8eSopenharmony_ci * 22561847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 22661847f8eSopenharmony_ci * @param { number } tokenID - Token ID of the application. 22761847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission to be stopped. 22861847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - Asynchronous callback interface. 22961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 23061847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 23161847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 23261847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, the permissionName exceeds 256 characters, or the count value is invalid. 23361847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The specified tokenID does not exist or refer to an application process. 23461847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The specified permission does not exist or is not an user_grant permission. 23561847f8eSopenharmony_ci * @throws { BusinessError } 12100004 - The API is not used in pair with 'startUsingPermission'. 23661847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 23761847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 23861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 23961847f8eSopenharmony_ci * @systemapi 24061847f8eSopenharmony_ci * @since 9 24161847f8eSopenharmony_ci */ 24261847f8eSopenharmony_ci function stopUsingPermission(tokenID: number, permissionName: Permissions, callback: AsyncCallback<void>): void; 24361847f8eSopenharmony_ci 24461847f8eSopenharmony_ci /** 24561847f8eSopenharmony_ci * Subscribes to the change of active state of the specified permission. 24661847f8eSopenharmony_ci * 24761847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 24861847f8eSopenharmony_ci * @param { 'activeStateChange' } type - Event type. This parameter cannot change. 24961847f8eSopenharmony_ci * @param { Array<Permissions> } permissionList - Indicates the permission list, which are specified. This parameter cannot be null or empty. 25061847f8eSopenharmony_ci * @param { Callback<ActiveChangeResponse> } callback Callback for listening permission change. 25161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 25261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 25361847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 25461847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The tokenID is 0, or the permissionName exceeds 256 characters. 25561847f8eSopenharmony_ci * @throws { BusinessError } 12100004 - The API is used repeatedly with the same input. 25661847f8eSopenharmony_ci * @throws { BusinessError } 12100005 - The registration time has exceeded the limitation. 25761847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 25861847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 25961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 26061847f8eSopenharmony_ci * @systemapi 26161847f8eSopenharmony_ci * @since 9 26261847f8eSopenharmony_ci */ 26361847f8eSopenharmony_ci function on( 26461847f8eSopenharmony_ci type: 'activeStateChange', 26561847f8eSopenharmony_ci permissionList: Array<Permissions>, 26661847f8eSopenharmony_ci callback: Callback<ActiveChangeResponse> 26761847f8eSopenharmony_ci ): void; 26861847f8eSopenharmony_ci 26961847f8eSopenharmony_ci /** 27061847f8eSopenharmony_ci * Unsubscribes to the change of active state of the specified permission. 27161847f8eSopenharmony_ci * 27261847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 27361847f8eSopenharmony_ci * @param { 'activeStateChange' } type - Event type. This parameter cannot change. 27461847f8eSopenharmony_ci * @param { Array<Permissions> } permissionList - Indicates the permission list, which are specified. This parameter cannot be null or empty. 27561847f8eSopenharmony_ci * @param { Callback<ActiveChangeResponse> } callback - Callback for listening permission change. 27661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. 27761847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 27861847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 27961847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. The permissionNames in the list are all invalid, or the list size exceeds 1024 bytes. 28061847f8eSopenharmony_ci * @throws { BusinessError } 12100004 - The API is not used in pair with 'on'. 28161847f8eSopenharmony_ci * @throws { BusinessError } 12100007 - The service is abnormal. 28261847f8eSopenharmony_ci * @throws { BusinessError } 12100008 - Out of memory. 28361847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 28461847f8eSopenharmony_ci * @systemapi 28561847f8eSopenharmony_ci * @since 9 28661847f8eSopenharmony_ci */ 28761847f8eSopenharmony_ci function off( 28861847f8eSopenharmony_ci type: 'activeStateChange', 28961847f8eSopenharmony_ci permissionList: Array<Permissions>, 29061847f8eSopenharmony_ci callback?: Callback<ActiveChangeResponse> 29161847f8eSopenharmony_ci ): void; 29261847f8eSopenharmony_ci 29361847f8eSopenharmony_ci /** 29461847f8eSopenharmony_ci * Obtains the used type of the permission accessed. 29561847f8eSopenharmony_ci * 29661847f8eSopenharmony_ci * @permission ohos.permission.PERMISSION_USED_STATS 29761847f8eSopenharmony_ci * @param { number } tokenId - Token ID of the application. By default, all token IDs of the device are returned. 29861847f8eSopenharmony_ci * @param { Permissions } permissionName - Name of the permission to query. By default, all permissions of the device are returned. 29961847f8eSopenharmony_ci * @returns { Promise<Array<PermissionUsedTypeInfo>> } Promise used to return the information obtained. 30061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Incorrect parameter types. 30161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". 30261847f8eSopenharmony_ci * @throws { BusinessError } 202 - Not system app. Interface caller is not a system app. 30361847f8eSopenharmony_ci * @throws { BusinessError } 12100001 - Invalid parameter. PermissionName exceeds 256 characters. 30461847f8eSopenharmony_ci * @throws { BusinessError } 12100002 - The input tokenId does not exist. 30561847f8eSopenharmony_ci * @throws { BusinessError } 12100003 - The input permissionName does not exist. 30661847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 30761847f8eSopenharmony_ci * @systemapi 30861847f8eSopenharmony_ci * @since 12 30961847f8eSopenharmony_ci */ 31061847f8eSopenharmony_ci function getPermissionUsedTypeInfos(tokenId?: number, permissionName?: Permissions): Promise<Array<PermissionUsedTypeInfo>>; 31161847f8eSopenharmony_ci 31261847f8eSopenharmony_ci /** 31361847f8eSopenharmony_ci * Enum for permission for status. 31461847f8eSopenharmony_ci * 31561847f8eSopenharmony_ci * @enum { number } PermissionActiveStatus 31661847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 31761847f8eSopenharmony_ci * @systemapi 31861847f8eSopenharmony_ci * @since 9 31961847f8eSopenharmony_ci */ 32061847f8eSopenharmony_ci enum PermissionActiveStatus { 32161847f8eSopenharmony_ci /** 32261847f8eSopenharmony_ci * permission is not used yet. 32361847f8eSopenharmony_ci * 32461847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 32561847f8eSopenharmony_ci * @systemapi 32661847f8eSopenharmony_ci * @since 9 32761847f8eSopenharmony_ci */ 32861847f8eSopenharmony_ci PERM_INACTIVE = 0, 32961847f8eSopenharmony_ci 33061847f8eSopenharmony_ci /** 33161847f8eSopenharmony_ci * permission is used in front_end. 33261847f8eSopenharmony_ci * 33361847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 33461847f8eSopenharmony_ci * @systemapi 33561847f8eSopenharmony_ci * @since 9 33661847f8eSopenharmony_ci */ 33761847f8eSopenharmony_ci PERM_ACTIVE_IN_FOREGROUND = 1, 33861847f8eSopenharmony_ci 33961847f8eSopenharmony_ci /** 34061847f8eSopenharmony_ci * permission is used in back_end. 34161847f8eSopenharmony_ci * 34261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 34361847f8eSopenharmony_ci * @systemapi 34461847f8eSopenharmony_ci * @since 9 34561847f8eSopenharmony_ci */ 34661847f8eSopenharmony_ci PERM_ACTIVE_IN_BACKGROUND = 2 34761847f8eSopenharmony_ci } 34861847f8eSopenharmony_ci 34961847f8eSopenharmony_ci /** 35061847f8eSopenharmony_ci * Indicates the response of permission active status. 35161847f8eSopenharmony_ci * 35261847f8eSopenharmony_ci * @interface ActiveChangeResponse 35361847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 35461847f8eSopenharmony_ci * @systemapi 35561847f8eSopenharmony_ci * @since 9 35661847f8eSopenharmony_ci */ 35761847f8eSopenharmony_ci interface ActiveChangeResponse { 35861847f8eSopenharmony_ci /** 35961847f8eSopenharmony_ci * AccessTokenID 36061847f8eSopenharmony_ci * 36161847f8eSopenharmony_ci * @type { number } 36261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 36361847f8eSopenharmony_ci * @systemapi 36461847f8eSopenharmony_ci * @since 9 36561847f8eSopenharmony_ci */ 36661847f8eSopenharmony_ci tokenId: number; 36761847f8eSopenharmony_ci 36861847f8eSopenharmony_ci /** 36961847f8eSopenharmony_ci * The permission name 37061847f8eSopenharmony_ci * 37161847f8eSopenharmony_ci * @type { Permissions } 37261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 37361847f8eSopenharmony_ci * @systemapi 37461847f8eSopenharmony_ci * @since 9 37561847f8eSopenharmony_ci */ 37661847f8eSopenharmony_ci permissionName: Permissions; 37761847f8eSopenharmony_ci 37861847f8eSopenharmony_ci /** 37961847f8eSopenharmony_ci * The device id 38061847f8eSopenharmony_ci * 38161847f8eSopenharmony_ci * @type { string } 38261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 38361847f8eSopenharmony_ci * @systemapi 38461847f8eSopenharmony_ci * @since 9 38561847f8eSopenharmony_ci */ 38661847f8eSopenharmony_ci deviceId: string; 38761847f8eSopenharmony_ci /** 38861847f8eSopenharmony_ci * The active status name 38961847f8eSopenharmony_ci * 39061847f8eSopenharmony_ci * @type { PermissionActiveStatus } 39161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 39261847f8eSopenharmony_ci * @systemapi 39361847f8eSopenharmony_ci * @since 9 39461847f8eSopenharmony_ci */ 39561847f8eSopenharmony_ci activeStatus: PermissionActiveStatus; 39661847f8eSopenharmony_ci } 39761847f8eSopenharmony_ci 39861847f8eSopenharmony_ci /** 39961847f8eSopenharmony_ci * PermissionUsageFlag. 40061847f8eSopenharmony_ci * 40161847f8eSopenharmony_ci * @enum { number } PermissionUsageFlag 40261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 40361847f8eSopenharmony_ci * @systemapi 40461847f8eSopenharmony_ci * @since 9 40561847f8eSopenharmony_ci */ 40661847f8eSopenharmony_ci enum PermissionUsageFlag { 40761847f8eSopenharmony_ci /** 40861847f8eSopenharmony_ci * permission used summary 40961847f8eSopenharmony_ci * 41061847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 41161847f8eSopenharmony_ci * @systemapi 41261847f8eSopenharmony_ci * @since 9 41361847f8eSopenharmony_ci */ 41461847f8eSopenharmony_ci FLAG_PERMISSION_USAGE_SUMMARY = 0, 41561847f8eSopenharmony_ci /** 41661847f8eSopenharmony_ci * permission used detail 41761847f8eSopenharmony_ci * 41861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 41961847f8eSopenharmony_ci * @systemapi 42061847f8eSopenharmony_ci * @since 9 42161847f8eSopenharmony_ci */ 42261847f8eSopenharmony_ci FLAG_PERMISSION_USAGE_DETAIL = 1 42361847f8eSopenharmony_ci } 42461847f8eSopenharmony_ci 42561847f8eSopenharmony_ci /** 42661847f8eSopenharmony_ci * Provides request of querying permission used records. 42761847f8eSopenharmony_ci * 42861847f8eSopenharmony_ci * @interface PermissionUsedRequest 42961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 43061847f8eSopenharmony_ci * @systemapi 43161847f8eSopenharmony_ci * @since 9 43261847f8eSopenharmony_ci */ 43361847f8eSopenharmony_ci interface PermissionUsedRequest { 43461847f8eSopenharmony_ci /** 43561847f8eSopenharmony_ci * AccessTokenID 43661847f8eSopenharmony_ci * 43761847f8eSopenharmony_ci * @type { ?number } 43861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 43961847f8eSopenharmony_ci * @systemapi 44061847f8eSopenharmony_ci * @since 9 44161847f8eSopenharmony_ci */ 44261847f8eSopenharmony_ci tokenId?: number; 44361847f8eSopenharmony_ci 44461847f8eSopenharmony_ci /** 44561847f8eSopenharmony_ci * Distribute flag 44661847f8eSopenharmony_ci * 44761847f8eSopenharmony_ci * @type { ?boolean } 44861847f8eSopenharmony_ci * @default false 44961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 45061847f8eSopenharmony_ci * @systemapi 45161847f8eSopenharmony_ci * @since 9 45261847f8eSopenharmony_ci */ 45361847f8eSopenharmony_ci isRemote?: boolean; 45461847f8eSopenharmony_ci 45561847f8eSopenharmony_ci /** 45661847f8eSopenharmony_ci * The device id 45761847f8eSopenharmony_ci * 45861847f8eSopenharmony_ci * @type { ?string } 45961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 46061847f8eSopenharmony_ci * @systemapi 46161847f8eSopenharmony_ci * @since 9 46261847f8eSopenharmony_ci */ 46361847f8eSopenharmony_ci deviceId?: string; 46461847f8eSopenharmony_ci 46561847f8eSopenharmony_ci /** 46661847f8eSopenharmony_ci * The bundle name 46761847f8eSopenharmony_ci * 46861847f8eSopenharmony_ci * @type { ?string } 46961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 47061847f8eSopenharmony_ci * @systemapi 47161847f8eSopenharmony_ci * @since 9 47261847f8eSopenharmony_ci */ 47361847f8eSopenharmony_ci bundleName?: string; 47461847f8eSopenharmony_ci 47561847f8eSopenharmony_ci /** 47661847f8eSopenharmony_ci * The list of permission name 47761847f8eSopenharmony_ci * 47861847f8eSopenharmony_ci * @type { ?Array<Permissions> } 47961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 48061847f8eSopenharmony_ci * @systemapi 48161847f8eSopenharmony_ci * @since 9 48261847f8eSopenharmony_ci */ 48361847f8eSopenharmony_ci permissionNames?: Array<Permissions>; 48461847f8eSopenharmony_ci 48561847f8eSopenharmony_ci /** 48661847f8eSopenharmony_ci * The begin time, in milliseconds 48761847f8eSopenharmony_ci * 48861847f8eSopenharmony_ci * @type { ?number } 48961847f8eSopenharmony_ci * @default 0 49061847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 49161847f8eSopenharmony_ci * @systemapi 49261847f8eSopenharmony_ci * @since 9 49361847f8eSopenharmony_ci */ 49461847f8eSopenharmony_ci beginTime?: number; 49561847f8eSopenharmony_ci 49661847f8eSopenharmony_ci /** 49761847f8eSopenharmony_ci * The end time, in milliseconds 49861847f8eSopenharmony_ci * 49961847f8eSopenharmony_ci * @type { ?number } 50061847f8eSopenharmony_ci * @default 0 50161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 50261847f8eSopenharmony_ci * @systemapi 50361847f8eSopenharmony_ci * @since 9 50461847f8eSopenharmony_ci */ 50561847f8eSopenharmony_ci endTime?: number; 50661847f8eSopenharmony_ci 50761847f8eSopenharmony_ci /** 50861847f8eSopenharmony_ci * The permission usage flag 50961847f8eSopenharmony_ci * 51061847f8eSopenharmony_ci * @type { PermissionUsageFlag } 51161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 51261847f8eSopenharmony_ci * @systemapi 51361847f8eSopenharmony_ci * @since 9 51461847f8eSopenharmony_ci */ 51561847f8eSopenharmony_ci flag: PermissionUsageFlag; 51661847f8eSopenharmony_ci } 51761847f8eSopenharmony_ci 51861847f8eSopenharmony_ci /** 51961847f8eSopenharmony_ci * Provides response of querying permission used records. 52061847f8eSopenharmony_ci * 52161847f8eSopenharmony_ci * @interface PermissionUsedResponse 52261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 52361847f8eSopenharmony_ci * @systemapi 52461847f8eSopenharmony_ci * @since 9 52561847f8eSopenharmony_ci */ 52661847f8eSopenharmony_ci interface PermissionUsedResponse { 52761847f8eSopenharmony_ci /** 52861847f8eSopenharmony_ci * The begin time, in milliseconds 52961847f8eSopenharmony_ci * 53061847f8eSopenharmony_ci * @type { number } 53161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 53261847f8eSopenharmony_ci * @systemapi 53361847f8eSopenharmony_ci * @since 9 53461847f8eSopenharmony_ci */ 53561847f8eSopenharmony_ci beginTime: number; 53661847f8eSopenharmony_ci 53761847f8eSopenharmony_ci /** 53861847f8eSopenharmony_ci * The end time, in milliseconds 53961847f8eSopenharmony_ci * 54061847f8eSopenharmony_ci * @type { number } 54161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 54261847f8eSopenharmony_ci * @systemapi 54361847f8eSopenharmony_ci * @since 9 54461847f8eSopenharmony_ci */ 54561847f8eSopenharmony_ci endTime: number; 54661847f8eSopenharmony_ci 54761847f8eSopenharmony_ci /** 54861847f8eSopenharmony_ci * The list of permission used records of bundle 54961847f8eSopenharmony_ci * 55061847f8eSopenharmony_ci * @type { Array<BundleUsedRecord> } 55161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 55261847f8eSopenharmony_ci * @systemapi 55361847f8eSopenharmony_ci * @since 9 55461847f8eSopenharmony_ci */ 55561847f8eSopenharmony_ci bundleRecords: Array<BundleUsedRecord>; 55661847f8eSopenharmony_ci } 55761847f8eSopenharmony_ci 55861847f8eSopenharmony_ci /** 55961847f8eSopenharmony_ci * BundleUsedRecord. 56061847f8eSopenharmony_ci * 56161847f8eSopenharmony_ci * @interface BundleUsedRecord 56261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 56361847f8eSopenharmony_ci * @systemapi 56461847f8eSopenharmony_ci * @since 9 56561847f8eSopenharmony_ci */ 56661847f8eSopenharmony_ci interface BundleUsedRecord { 56761847f8eSopenharmony_ci /** 56861847f8eSopenharmony_ci * AccessTokenID 56961847f8eSopenharmony_ci * 57061847f8eSopenharmony_ci * @type { number } 57161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 57261847f8eSopenharmony_ci * @systemapi 57361847f8eSopenharmony_ci * @since 9 57461847f8eSopenharmony_ci */ 57561847f8eSopenharmony_ci tokenId: number; 57661847f8eSopenharmony_ci 57761847f8eSopenharmony_ci /** 57861847f8eSopenharmony_ci * Distribute flag 57961847f8eSopenharmony_ci * 58061847f8eSopenharmony_ci * @type { boolean } 58161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 58261847f8eSopenharmony_ci * @systemapi 58361847f8eSopenharmony_ci * @since 9 58461847f8eSopenharmony_ci */ 58561847f8eSopenharmony_ci isRemote: boolean; 58661847f8eSopenharmony_ci 58761847f8eSopenharmony_ci /** 58861847f8eSopenharmony_ci * The device id 58961847f8eSopenharmony_ci * 59061847f8eSopenharmony_ci * @type { string } 59161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 59261847f8eSopenharmony_ci * @systemapi 59361847f8eSopenharmony_ci * @since 9 59461847f8eSopenharmony_ci */ 59561847f8eSopenharmony_ci deviceId: string; 59661847f8eSopenharmony_ci 59761847f8eSopenharmony_ci /** 59861847f8eSopenharmony_ci * The bundle name 59961847f8eSopenharmony_ci * 60061847f8eSopenharmony_ci * @type { string } 60161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 60261847f8eSopenharmony_ci * @systemapi 60361847f8eSopenharmony_ci * @since 9 60461847f8eSopenharmony_ci */ 60561847f8eSopenharmony_ci bundleName: string; 60661847f8eSopenharmony_ci 60761847f8eSopenharmony_ci /** 60861847f8eSopenharmony_ci * The list of permission used records 60961847f8eSopenharmony_ci * 61061847f8eSopenharmony_ci * @type { Array<PermissionUsedRecord> } 61161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 61261847f8eSopenharmony_ci * @systemapi 61361847f8eSopenharmony_ci * @since 9 61461847f8eSopenharmony_ci */ 61561847f8eSopenharmony_ci permissionRecords: Array<PermissionUsedRecord>; 61661847f8eSopenharmony_ci } 61761847f8eSopenharmony_ci 61861847f8eSopenharmony_ci /** 61961847f8eSopenharmony_ci * PermissionUsedRecord. 62061847f8eSopenharmony_ci * 62161847f8eSopenharmony_ci * @interface PermissionUsedRecord 62261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 62361847f8eSopenharmony_ci * @systemapi 62461847f8eSopenharmony_ci * @since 9 62561847f8eSopenharmony_ci */ 62661847f8eSopenharmony_ci interface PermissionUsedRecord { 62761847f8eSopenharmony_ci /** 62861847f8eSopenharmony_ci * The permission name 62961847f8eSopenharmony_ci * 63061847f8eSopenharmony_ci * @type { Permissions } 63161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 63261847f8eSopenharmony_ci * @systemapi 63361847f8eSopenharmony_ci * @since 9 63461847f8eSopenharmony_ci */ 63561847f8eSopenharmony_ci permissionName: Permissions; 63661847f8eSopenharmony_ci 63761847f8eSopenharmony_ci /** 63861847f8eSopenharmony_ci * The access counts 63961847f8eSopenharmony_ci * 64061847f8eSopenharmony_ci * @type { number } 64161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 64261847f8eSopenharmony_ci * @systemapi 64361847f8eSopenharmony_ci * @since 9 64461847f8eSopenharmony_ci */ 64561847f8eSopenharmony_ci accessCount: number; 64661847f8eSopenharmony_ci 64761847f8eSopenharmony_ci /** 64861847f8eSopenharmony_ci * The reject counts 64961847f8eSopenharmony_ci * 65061847f8eSopenharmony_ci * @type { number } 65161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 65261847f8eSopenharmony_ci * @systemapi 65361847f8eSopenharmony_ci * @since 9 65461847f8eSopenharmony_ci */ 65561847f8eSopenharmony_ci rejectCount: number; 65661847f8eSopenharmony_ci 65761847f8eSopenharmony_ci /** 65861847f8eSopenharmony_ci * The last access time, in milliseconds 65961847f8eSopenharmony_ci * 66061847f8eSopenharmony_ci * @type { number } 66161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 66261847f8eSopenharmony_ci * @systemapi 66361847f8eSopenharmony_ci * @since 9 66461847f8eSopenharmony_ci */ 66561847f8eSopenharmony_ci lastAccessTime: number; 66661847f8eSopenharmony_ci 66761847f8eSopenharmony_ci /** 66861847f8eSopenharmony_ci * The last reject time, in milliseconds 66961847f8eSopenharmony_ci * 67061847f8eSopenharmony_ci * @type { number } 67161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 67261847f8eSopenharmony_ci * @systemapi 67361847f8eSopenharmony_ci * @since 9 67461847f8eSopenharmony_ci */ 67561847f8eSopenharmony_ci lastRejectTime: number; 67661847f8eSopenharmony_ci 67761847f8eSopenharmony_ci /** 67861847f8eSopenharmony_ci * The last access duration, in milliseconds 67961847f8eSopenharmony_ci * 68061847f8eSopenharmony_ci * @type { number } 68161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 68261847f8eSopenharmony_ci * @systemapi 68361847f8eSopenharmony_ci * @since 9 68461847f8eSopenharmony_ci */ 68561847f8eSopenharmony_ci lastAccessDuration: number; 68661847f8eSopenharmony_ci 68761847f8eSopenharmony_ci /** 68861847f8eSopenharmony_ci * The list of access records of details 68961847f8eSopenharmony_ci * 69061847f8eSopenharmony_ci * @type { Array<UsedRecordDetail> } 69161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 69261847f8eSopenharmony_ci * @systemapi 69361847f8eSopenharmony_ci * @since 9 69461847f8eSopenharmony_ci */ 69561847f8eSopenharmony_ci accessRecords: Array<UsedRecordDetail>; 69661847f8eSopenharmony_ci 69761847f8eSopenharmony_ci /** 69861847f8eSopenharmony_ci * The list of reject records of details 69961847f8eSopenharmony_ci * 70061847f8eSopenharmony_ci * @type { Array<UsedRecordDetail> } 70161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 70261847f8eSopenharmony_ci * @systemapi 70361847f8eSopenharmony_ci * @since 9 70461847f8eSopenharmony_ci */ 70561847f8eSopenharmony_ci rejectRecords: Array<UsedRecordDetail>; 70661847f8eSopenharmony_ci } 70761847f8eSopenharmony_ci 70861847f8eSopenharmony_ci /** 70961847f8eSopenharmony_ci * UsedRecordDetail. 71061847f8eSopenharmony_ci * 71161847f8eSopenharmony_ci * @interface UsedRecordDetail 71261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 71361847f8eSopenharmony_ci * @systemapi 71461847f8eSopenharmony_ci * @since 9 71561847f8eSopenharmony_ci */ 71661847f8eSopenharmony_ci interface UsedRecordDetail { 71761847f8eSopenharmony_ci /** 71861847f8eSopenharmony_ci * The status 71961847f8eSopenharmony_ci * 72061847f8eSopenharmony_ci * @type { number } 72161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 72261847f8eSopenharmony_ci * @systemapi 72361847f8eSopenharmony_ci * @since 9 72461847f8eSopenharmony_ci */ 72561847f8eSopenharmony_ci status: number; 72661847f8eSopenharmony_ci 72761847f8eSopenharmony_ci /** 72861847f8eSopenharmony_ci * Indicates the status of lockscreen. 72961847f8eSopenharmony_ci * 73061847f8eSopenharmony_ci * @type { ?number } 73161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 73261847f8eSopenharmony_ci * @systemapi 73361847f8eSopenharmony_ci * @since 11 73461847f8eSopenharmony_ci */ 73561847f8eSopenharmony_ci lockScreenStatus?: number; 73661847f8eSopenharmony_ci 73761847f8eSopenharmony_ci /** 73861847f8eSopenharmony_ci * Timestamp, in milliseconds 73961847f8eSopenharmony_ci * 74061847f8eSopenharmony_ci * @type { number } 74161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 74261847f8eSopenharmony_ci * @systemapi 74361847f8eSopenharmony_ci * @since 9 74461847f8eSopenharmony_ci */ 74561847f8eSopenharmony_ci timestamp: number; 74661847f8eSopenharmony_ci 74761847f8eSopenharmony_ci /** 74861847f8eSopenharmony_ci * The value of successCount or failCount passed in to addPermissionUsedRecord. 74961847f8eSopenharmony_ci * 75061847f8eSopenharmony_ci * @type { ?number } 75161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 75261847f8eSopenharmony_ci * @systemapi 75361847f8eSopenharmony_ci * @since 11 75461847f8eSopenharmony_ci */ 75561847f8eSopenharmony_ci count?: number; 75661847f8eSopenharmony_ci 75761847f8eSopenharmony_ci /** 75861847f8eSopenharmony_ci * Access duration, in milliseconds 75961847f8eSopenharmony_ci * 76061847f8eSopenharmony_ci * @type { number } 76161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 76261847f8eSopenharmony_ci * @systemapi 76361847f8eSopenharmony_ci * @since 9 76461847f8eSopenharmony_ci */ 76561847f8eSopenharmony_ci accessDuration: number; 76661847f8eSopenharmony_ci 76761847f8eSopenharmony_ci /** 76861847f8eSopenharmony_ci * Used type of the permission accessed. 76961847f8eSopenharmony_ci * 77061847f8eSopenharmony_ci * @type { ?PermissionUsedType } 77161847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 77261847f8eSopenharmony_ci * @systemapi 77361847f8eSopenharmony_ci * @since 12 77461847f8eSopenharmony_ci */ 77561847f8eSopenharmony_ci usedType?: PermissionUsedType; 77661847f8eSopenharmony_ci } 77761847f8eSopenharmony_ci 77861847f8eSopenharmony_ci /** 77961847f8eSopenharmony_ci * Enumerates the means by which sensitive resources are accessed. 78061847f8eSopenharmony_ci * 78161847f8eSopenharmony_ci * @enum { number } PermissionUsedType 78261847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 78361847f8eSopenharmony_ci * @systemapi 78461847f8eSopenharmony_ci * @since 12 78561847f8eSopenharmony_ci */ 78661847f8eSopenharmony_ci enum PermissionUsedType { 78761847f8eSopenharmony_ci /** 78861847f8eSopenharmony_ci * Sensitive resources are accessed with the declared permission or permission granted by the user. 78961847f8eSopenharmony_ci * 79061847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 79161847f8eSopenharmony_ci * @systemapi 79261847f8eSopenharmony_ci * @since 12 79361847f8eSopenharmony_ci */ 79461847f8eSopenharmony_ci NORMAL_TYPE = 0, 79561847f8eSopenharmony_ci 79661847f8eSopenharmony_ci /** 79761847f8eSopenharmony_ci * Sensitive resources are accessed through a picker. 79861847f8eSopenharmony_ci * 79961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 80061847f8eSopenharmony_ci * @systemapi 80161847f8eSopenharmony_ci * @since 12 80261847f8eSopenharmony_ci */ 80361847f8eSopenharmony_ci PICKER_TYPE = 1, 80461847f8eSopenharmony_ci 80561847f8eSopenharmony_ci /** 80661847f8eSopenharmony_ci * Sensitive resources are accessed through a security component. 80761847f8eSopenharmony_ci * 80861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 80961847f8eSopenharmony_ci * @systemapi 81061847f8eSopenharmony_ci * @since 12 81161847f8eSopenharmony_ci */ 81261847f8eSopenharmony_ci SECURITY_COMPONENT_TYPE = 2 81361847f8eSopenharmony_ci } 81461847f8eSopenharmony_ci 81561847f8eSopenharmony_ci /** 81661847f8eSopenharmony_ci * Information about the permission used type. 81761847f8eSopenharmony_ci * 81861847f8eSopenharmony_ci * @interface PermissionUsedTypeInfo 81961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 82061847f8eSopenharmony_ci * @systemapi 82161847f8eSopenharmony_ci * @since 12 82261847f8eSopenharmony_ci */ 82361847f8eSopenharmony_ci interface PermissionUsedTypeInfo { 82461847f8eSopenharmony_ci /** 82561847f8eSopenharmony_ci * Token ID of the application. 82661847f8eSopenharmony_ci * 82761847f8eSopenharmony_ci * @type { number } 82861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 82961847f8eSopenharmony_ci * @systemapi 83061847f8eSopenharmony_ci * @since 12 83161847f8eSopenharmony_ci */ 83261847f8eSopenharmony_ci tokenId: number; 83361847f8eSopenharmony_ci 83461847f8eSopenharmony_ci /** 83561847f8eSopenharmony_ci * Name of the permission accessed. 83661847f8eSopenharmony_ci * 83761847f8eSopenharmony_ci * @type { Permissions } 83861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 83961847f8eSopenharmony_ci * @systemapi 84061847f8eSopenharmony_ci * @since 12 84161847f8eSopenharmony_ci */ 84261847f8eSopenharmony_ci permissionName: Permissions; 84361847f8eSopenharmony_ci 84461847f8eSopenharmony_ci /** 84561847f8eSopenharmony_ci * Used type of the permission accessed. 84661847f8eSopenharmony_ci * 84761847f8eSopenharmony_ci * @type { PermissionUsedType } 84861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 84961847f8eSopenharmony_ci * @systemapi 85061847f8eSopenharmony_ci * @since 12 85161847f8eSopenharmony_ci */ 85261847f8eSopenharmony_ci usedType: PermissionUsedType; 85361847f8eSopenharmony_ci } 85461847f8eSopenharmony_ci 85561847f8eSopenharmony_ci /** 85661847f8eSopenharmony_ci * Additional information to add. 85761847f8eSopenharmony_ci * 85861847f8eSopenharmony_ci * @interface AddPermissionUsedRecordOptions 85961847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 86061847f8eSopenharmony_ci * @systemapi 86161847f8eSopenharmony_ci * @since 12 86261847f8eSopenharmony_ci */ 86361847f8eSopenharmony_ci interface AddPermissionUsedRecordOptions { 86461847f8eSopenharmony_ci /** 86561847f8eSopenharmony_ci * Used type of the permission accessed. 86661847f8eSopenharmony_ci * 86761847f8eSopenharmony_ci * @type { ?PermissionUsedType } 86861847f8eSopenharmony_ci * @syscap SystemCapability.Security.AccessToken 86961847f8eSopenharmony_ci * @systemapi 87061847f8eSopenharmony_ci * @since 12 87161847f8eSopenharmony_ci */ 87261847f8eSopenharmony_ci usedType?: PermissionUsedType; 87361847f8eSopenharmony_ci } 87461847f8eSopenharmony_ci} 87561847f8eSopenharmony_ci 87661847f8eSopenharmony_ciexport default privacyManager; 87761847f8eSopenharmony_ciexport { Permissions };