diff --git a/api/@ohos.abilityAccessCtrl.d.ts b/api/@ohos.abilityAccessCtrl.d.ts index 397550dc4e340669522e408e1dc087609eef64f8..735e9ff36fb0dbbcf67888b918d7c4d3a385c4d7 100644 --- a/api/@ohos.abilityAccessCtrl.d.ts +++ b/api/@ohos.abilityAccessCtrl.d.ts @@ -15,6 +15,8 @@ import { AsyncCallback, Callback } from './basic'; import { Permissions } from './permissions'; +import Context from "./application/Context"; +import PermissionRequestResult from "./security/PermissionRequestResult"; /** * @syscap SystemCapability.Security.AccessToken @@ -74,6 +76,20 @@ import { Permissions } from './permissions'; */ checkAccessToken(tokenID: number, permissionName: Permissions): Promise; + /** + * Requests certain permissions from the user. + * + * @param context The context that initiates the permission request. + * @param permissions Indicates the list of permissions to be requested. This parameter cannot be null or empty. + * @returns Returns the {@link PermissionRequestResult}. + * @throws { BusinessError } 401 - The parameter check failed. + * @throws { BusinessError } 12100001 - The parameter is invalid. The context is invalid when it does not belong to the application itself. + * @since 9 + * @StageModelOnly + */ + requestPermissionsFromUser(context: Context, permissions: Array, requestCallback: AsyncCallback) : void; + requestPermissionsFromUser(context: Context, permissions: Array) : Promise; + /** * Grants a specified user_grant permission to the given application. * @param tokenID The tokenId of specified application. @@ -244,3 +260,4 @@ import { Permissions } from './permissions'; } export default abilityAccessCtrl; + export { Permissions }; \ No newline at end of file diff --git a/api/@ohos.app.ability.common.d.ts b/api/@ohos.app.ability.common.d.ts index 0661aafb085f73cc58af79e159fd10a7bbcfec58..b32a7effbac70b857607fc288ba13a4c2077a38b 100755 --- a/api/@ohos.app.ability.common.d.ts +++ b/api/@ohos.app.ability.common.d.ts @@ -121,6 +121,7 @@ declare namespace common { * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @since 9 + * @deprecated since 9 */ export type PermissionRequestResult = _PermissionRequestResult.default diff --git a/api/@ohos.application.context.d.ts b/api/@ohos.application.context.d.ts index da1ee4f905a2d0e2319a4a3bd9c3d42f336f0c92..be53b9d8910d6329ffaf517f18a63bbdef10b5eb 100755 --- a/api/@ohos.application.context.d.ts +++ b/api/@ohos.application.context.d.ts @@ -114,6 +114,7 @@ declare namespace context { * @since 9 * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly + * @deprecated since 9 */ export type PermissionRequestResult = _PermissionRequestResult.default } diff --git a/api/@ohos.privacyManager.d.ts b/api/@ohos.privacyManager.d.ts index 3df504005270fbbb0081756e4f44e2e8fff1f6a0..5ebddceac4390a7d036aa74b5507ff7c9ce6ce16 100644 --- a/api/@ohos.privacyManager.d.ts +++ b/api/@ohos.privacyManager.d.ts @@ -44,7 +44,7 @@ import { Permissions } from './permissions' /** * Queries the access records of sensitive permission. * @param request The request of permission used records. - * @return Return the response of permission used records. + * @returns Return the response of permission used records. * @throws { BusinessError } 401 - The parameter check failed. * @throws { BusinessError } 201 - Permission denied. Interface caller does not have permission "ohos.permission.PERMISSION_USED_STATS". * @throws { BusinessError } 12100001 - The parameter is invalid. the value of flag in request is invalid. @@ -365,4 +365,5 @@ import { Permissions } from './permissions' } } -export default privacyManager; \ No newline at end of file +export default privacyManager; +export { Permissions }; \ No newline at end of file diff --git a/api/application/AbilityContext.d.ts b/api/application/AbilityContext.d.ts index daadec9e02854f32ba8ae0ee2f9ae4ae6563c747..325d3d1d7c78ebf06a043506e98316f052617905 100755 --- a/api/application/AbilityContext.d.ts +++ b/api/application/AbilityContext.d.ts @@ -532,6 +532,8 @@ export default class AbilityContext extends Context { * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @since 9 + * @deprecated since 9 + * @useinstead @ohos.abilityAccessCtrl.requestPermissionsFromUser */ requestPermissionsFromUser(permissions: Array, requestCallback: AsyncCallback): void; @@ -544,6 +546,8 @@ export default class AbilityContext extends Context { * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @since 9 + * @deprecated since 9 + * @useinstead @ohos.abilityAccessCtrl.requestPermissionsFromUser */ requestPermissionsFromUser(permissions: Array): Promise; diff --git a/api/application/PermissionRequestResult.d.ts b/api/application/PermissionRequestResult.d.ts index a3d8d6ae04485a4c11d370caa716383f6a63f38e..f98382c0be33041af597c0245164bf02761595c8 100755 --- a/api/application/PermissionRequestResult.d.ts +++ b/api/application/PermissionRequestResult.d.ts @@ -20,6 +20,8 @@ * @syscap SystemCapability.Ability.AbilityRuntime.Core * @permission N/A * @StageModelOnly + * @deprecated since 9 + * @useinstead security/PermissionRequestResult */ export default class PermissionRequestResult { /** diff --git a/api/application/UIAbilityContext.d.ts b/api/application/UIAbilityContext.d.ts index bfa3f641854f5b2d37eee72f72bfd10482441e48..9b0a5f9b308b7031c11ea0863988810ef149a9c0 100755 --- a/api/application/UIAbilityContext.d.ts +++ b/api/application/UIAbilityContext.d.ts @@ -486,6 +486,8 @@ export default class UIAbilityContext extends Context { * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @since 9 + * @deprecated since 9 + * @useinstead @ohos.abilityAccessCtrl.requestPermissionsFromUser */ requestPermissionsFromUser(permissions: Array, requestCallback: AsyncCallback): void; @@ -498,6 +500,8 @@ export default class UIAbilityContext extends Context { * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @since 9 + * @deprecated since 9 + * @useinstead @ohos.abilityAccessCtrl.requestPermissionsFromUser */ requestPermissionsFromUser(permissions: Array): Promise; diff --git a/api/security/PermissionRequestResult.d.ts b/api/security/PermissionRequestResult.d.ts new file mode 100755 index 0000000000000000000000000000000000000000..1d221898d76c518740e8d70f09ad4938f357f318 --- /dev/null +++ b/api/security/PermissionRequestResult.d.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"), + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * The result of requestPermissionsFromUser with asynchronous callback. + * + * @since 9 + * @syscap SystemCapability.Security.AccessToken + * @permission N/A + * @StageModelOnly + */ +export default class PermissionRequestResult { + /** + * The permissions passed in by the user. + * + * @since 9 + * @syscap SystemCapability.Security.AccessToken + * @StageModelOnly + */ + permissions: Array; + + /** + * The results for the corresponding request permissions. The value 0 indicates that a + * permission is granted, and the value -1 indicates not. + * + * @since 9 + * @syscap SystemCapability.Security.AccessToken + * @StageModelOnly + */ + authResults: Array; +} \ No newline at end of file