未验证 提交 d5959217 编写于 作者: O openharmony_ci 提交者: Gitee

!18973 URI Permission Manager新增错误码

Merge pull request !18973 from gongyuechen/master
...@@ -257,7 +257,7 @@ abilities标签描述UIAbility组件的配置信息,标签值为数组类型 ...@@ -257,7 +257,7 @@ abilities标签描述UIAbility组件的配置信息,标签值为数组类型
| minWindowWidth | 标识当前UIAbility组件支持的最小的窗口宽度, 宽度单位为vp。该标签最小取值为0,但不能小于平台支持的最小窗口宽度;最大取值不能大于maxWindowWidth。窗口尺寸可以参考:[约束与限制](../windowmanager/window-overview.md#约束与限制)。 | 数值 | 该标签可缺省,缺省值为平台支持的最小的窗口宽度。 | | minWindowWidth | 标识当前UIAbility组件支持的最小的窗口宽度, 宽度单位为vp。该标签最小取值为0,但不能小于平台支持的最小窗口宽度;最大取值不能大于maxWindowWidth。窗口尺寸可以参考:[约束与限制](../windowmanager/window-overview.md#约束与限制)。 | 数值 | 该标签可缺省,缺省值为平台支持的最小的窗口宽度。 |
| maxWindowHeight | 标识当前UIAbility组件支持的最大的窗口高度, 高度单位为vp。该标签最小取值为0,但不能小于minWindowHeight;最大取值不能超过平台支持的最大窗口高度。 窗口尺寸可以参考:[约束与限制](../windowmanager/window-overview.md#约束与限制)。| 数值 | 该标签可缺省,缺省值为平台支持的最大的窗口高度。 | | maxWindowHeight | 标识当前UIAbility组件支持的最大的窗口高度, 高度单位为vp。该标签最小取值为0,但不能小于minWindowHeight;最大取值不能超过平台支持的最大窗口高度。 窗口尺寸可以参考:[约束与限制](../windowmanager/window-overview.md#约束与限制)。| 数值 | 该标签可缺省,缺省值为平台支持的最大的窗口高度。 |
| minWindowHeight | 标识当前UIAbility组件支持的最小的窗口高度, 高度单位为vp。该标签最小取值为0,但不能小于平台支持的最小窗口高度;最大取值不能大于maxWindowHeight。窗口尺寸可以参考:[约束与限制](../windowmanager/window-overview.md#约束与限制)。| 数值 | 该标签可缺省,缺省值为平台支持的最小的窗口高度。 | | minWindowHeight | 标识当前UIAbility组件支持的最小的窗口高度, 高度单位为vp。该标签最小取值为0,但不能小于平台支持的最小窗口高度;最大取值不能大于maxWindowHeight。窗口尺寸可以参考:[约束与限制](../windowmanager/window-overview.md#约束与限制)。| 数值 | 该标签可缺省,缺省值为平台支持的最小的窗口高度。 |
| excludeFromMissions | 标识当前UIAbility组件是否在最近任务列表中显示。<br/>-&nbsp;true:表示不在任务列表中显示。<br/>-&nbsp;false:表示在任务列表中显示。<br/>**说明:**<br/>仅支持系统应用配置,三方应用配置不生效。 | 布尔值 | 该标签可缺省,缺省值为false。 | | excludeFromMissions | 标识当前UIAbility组件是否在最近任务列表中显示。<br/>-&nbsp;true:表示不在任务列表中显示。<br/>-&nbsp;false:表示在任务列表中显示。<br/>**说明:**<br/>仅支持系统应用配置,且需申请应用特权AllowAbilityExcludeFromMissions,三方应用配置不生效。[应用特权配置指导](../../device-dev/subsystems/subsys-app-privilege-config-guide.md)| 布尔值 | 该标签可缺省,缺省值为false。 |
| recoverable | 标识当前是否支持在检测到应用故障后,恢复到应用原界面。<br/>-&nbsp;true:支持检测到出现故障后,恢复到原界面。<br/>-&nbsp;false:不支持检测到出现故障后,恢复到原界面。 | 布尔值 | 该标签可缺省,缺省值为false。 | | recoverable | 标识当前是否支持在检测到应用故障后,恢复到应用原界面。<br/>-&nbsp;true:支持检测到出现故障后,恢复到原界面。<br/>-&nbsp;false:不支持检测到出现故障后,恢复到原界面。 | 布尔值 | 该标签可缺省,缺省值为false。 |
| unclearableMission | 标识当前UIAbility组件是否在最近任务列表中不可以移除。<br/>-&nbsp;true:表示在任务列表中不可移除。<br/>-&nbsp;false:表示在任务列表中可以移除。<br/>**说明:**<br/>单独配置该字段不可生效,需要申请对应的[AllowMissionNotCleared](../../device-dev/subsystems/subsys-app-privilege-config-guide.md)特权之后,该字段才能生效 | 布尔值 | 该标签可缺省,缺省值为false。 | | unclearableMission | 标识当前UIAbility组件是否在最近任务列表中不可以移除。<br/>-&nbsp;true:表示在任务列表中不可移除。<br/>-&nbsp;false:表示在任务列表中可以移除。<br/>**说明:**<br/>单独配置该字段不可生效,需要申请对应的[AllowMissionNotCleared](../../device-dev/subsystems/subsys-app-privilege-config-guide.md)特权之后,该字段才能生效 | 布尔值 | 该标签可缺省,缺省值为false。 |
......
...@@ -21,6 +21,7 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri ...@@ -21,6 +21,7 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri
授权URI给指定应用,通过callback返回结果。 授权URI给指定应用,通过callback返回结果。
默认仅允许授权属于应用自身的URI,若拥有权限ohos.permission.PROXY_AUTHORIZATION_URI则无限制。
**系统API**:该接口为系统接口,三方应用不支持调用。 **系统API**:该接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -38,22 +39,33 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri ...@@ -38,22 +39,33 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri
**错误码:** **错误码:**
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------- | | ------- | -------------------------------- |
| 201 | Permissions denied. | | 16000050 | Internal error. |
| 202 | Not System App. Interface caller is not a system app. | | 16000058 | Invalid URI flag. |
| 401 | The parameter check failed. | | 16000059 | Invalid URI type. |
| 16500050 | Internal error. | | 16000060 | Sandbox application can not grant URI permission. |
| 16500058 | Invalid URI flag. |
| 16500059 | Invalid URI type. | 以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)
| 16500060 | Sandbox application can not grant URI permission. |
**示例:** **示例:**
```js ```js
import uriPermissionManager from '@ohos.application.uriPermissionManager';
import WantConstant from '@ohos.ability.wantConstant'; import WantConstant from '@ohos.ability.wantConstant';
import fileio from '@ohos.fileio';
import fileUri from '@ohos.file.fileuri';
let targetBundleName = 'com.example.test_case1' let targetBundleName = 'com.example.test_case1'
let uri = "fileshare:///com.samples.filesharetest.FileShare/person/10" let path = this.context.filesDir + '/newDir';
await fileio.mkdir(path, function (err) {
if (err) {
hilog.info(0x0000, 'testTag', "mkdir error"+err.message);
} else {
hilog.info(0x0000, 'testTag', "mkdir succeed");
}
});
let uri = fileUri.getUriFromPath(path);
uriPermissionManager.grantUriPermission(uri, WantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, targetBundleName, (result) => { uriPermissionManager.grantUriPermission(uri, WantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, targetBundleName, (result) => {
console.log("result.code = " + result.code) console.log("result.code = " + result.code)
}) })
...@@ -66,6 +78,7 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri ...@@ -66,6 +78,7 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri
授权URI给指定应用,通过返回值返回结果。 授权URI给指定应用,通过返回值返回结果。
默认仅允许授权属于应用自身的URI,若拥有权限ohos.permission.PROXY_AUTHORIZATION_URI则无限制。
**系统API**:该接口为系统接口,三方应用不支持调用。 **系统API**:该接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -89,22 +102,33 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri ...@@ -89,22 +102,33 @@ grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: stri
**错误码:** **错误码:**
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------- | | ------- | -------------------------------- |
| 201 | Permissions denied. | | 16000050 | Internal error. |
| 202 | Not System App. Interface caller is not a system app. | | 16000058 | Invalid URI flag. |
| 401 | The parameter check failed. | | 16000059 | Invalid URI type. |
| 16500050 | Internal error. | | 16000060 | Sandbox application can not grant URI permission. |
| 16500058 | Invalid URI flag. |
| 16500059 | Invalid URI type. | 以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)
| 16500060 | Sandbox application can not grant URI permission. |
**示例:** **示例:**
```js ```js
import uriPermissionManager from '@ohos.application.uriPermissionManager';
import WantConstant from '@ohos.ability.wantConstant'; import WantConstant from '@ohos.ability.wantConstant';
import fileio from '@ohos.fileio';
import fileUri from '@ohos.file.fileuri';
let targetBundleName = 'com.example.test_case1' let targetBundleName = 'com.example.test_case1'
let uri = "fileshare:///com.samples.filesharetest.FileShare/person/10" let path = this.context.filesDir + '/newDir';
uriPermissionManager.grantUriPermission(uri, WantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, targetBundleName) await fileio.mkdir(path, function (err) {
if (err) {
hilog.info(0x0000, 'testTag', "mkdir error"+err.message);
} else {
hilog.info(0x0000, 'testTag', "mkdir succeed");
}
});
let uri = fileUri.getUriFromPath(path);
uriPermissionManager.grantUriPermission(uri, wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION, targetBundleName)
.then((data) => { .then((data) => {
console.log('Verification succeeded.' + data) console.log('Verification succeeded.' + data)
}).catch((error) => { }).catch((error) => {
...@@ -117,6 +141,7 @@ revokeUriPermission(uri: string, targetBundleName: string, callback: AsyncCallba ...@@ -117,6 +141,7 @@ revokeUriPermission(uri: string, targetBundleName: string, callback: AsyncCallba
撤销授权指定应用的URI,通过callback返回结果。 撤销授权指定应用的URI,通过callback返回结果。
默认仅允许撤销应用自身获得的其他应用URI,或应用授权给其他应用属于自身的URI。若拥有权限ohos.permission.PROXY_AUTHORIZATION_URI则无限制。
**系统API**:该接口为系统接口,三方应用不支持调用。 **系统API**:该接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -134,19 +159,21 @@ revokeUriPermission(uri: string, targetBundleName: string, callback: AsyncCallba ...@@ -134,19 +159,21 @@ revokeUriPermission(uri: string, targetBundleName: string, callback: AsyncCallba
**错误码:** **错误码:**
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------- | | ------- | -------------------------------- |
| 201 | Permissions denied. | | 16000050 | Internal error. |
| 202 | Not System App. Interface caller is not a system app. | | 16000059 | Invalid URI type. |
| 401 | The parameter check failed. |
| 16500059 | Invalid URI type. | 以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)
**示例:** **示例:**
```js ```js
import uriPermissionManager from '@ohos.application.uriPermissionManager';
import WantConstant from '@ohos.ability.wantConstant'; import WantConstant from '@ohos.ability.wantConstant';
let targetBundleName = 'com.example.test_case1'
let URI = "fileshare:///com.samples.filesharetest.FileShare/person/10" let targetBundleName = 'com.example.test_case2'
uriPermissionManager.revokeUriPermission(URI, targetBundleName, (result) => { let uri = "file://com.example.test_case1/data/storage/el2/base/haps/entry_test/files/newDir"
uriPermissionManager.revokeUriPermission(uri, targetBundleName, (result) => {
console.log("result.code = " + result.code) console.log("result.code = " + result.code)
}) })
``` ```
...@@ -158,6 +185,8 @@ revokeUriPermission(uri: string, targetBundleName: string): Promise&lt;number&gt ...@@ -158,6 +185,8 @@ revokeUriPermission(uri: string, targetBundleName: string): Promise&lt;number&gt
撤销授权指定应用的URI,通过返回值返回结果。 撤销授权指定应用的URI,通过返回值返回结果。
默认仅允许撤销应用自身获得的其他应用URI,或应用授权给其他应用属于自身的URI。若拥有权限ohos.permission.PROXY_AUTHORIZATION_URI则无限制。
**系统API**:该接口为系统接口,三方应用不支持调用。 **系统API**:该接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统能力**:SystemCapability.Ability.AbilityRuntime.Core
...@@ -181,18 +210,20 @@ revokeUriPermission(uri: string, targetBundleName: string): Promise&lt;number&gt ...@@ -181,18 +210,20 @@ revokeUriPermission(uri: string, targetBundleName: string): Promise&lt;number&gt
**错误码:** **错误码:**
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------- | | ------- | -------------------------------- |
| 201 | Permissions denied. | | 16000050 | Internal error. |
| 202 | Not System App. Interface caller is not a system app. | | 16000059 | Invalid URI type. |
| 401 | The parameter check failed. |
| 16500059 | Invalid URI type. | 以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)
**示例:** **示例:**
```js ```js
import uriPermissionManager from '@ohos.application.uriPermissionManager';
import WantConstant from '@ohos.ability.wantConstant'; import WantConstant from '@ohos.ability.wantConstant';
let targetBundleName = 'com.example.test_case1'
let uri = "fileshare:///com.samples.filesharetest.FileShare/person/10" let targetBundleName = 'com.example.test_case2'
let uri = "file://com.example.test_case1/data/storage/el2/base/haps/entry_test/files/newDir"
uriPermissionManager.revokeUriPermission(uri, targetBundleName) uriPermissionManager.revokeUriPermission(uri, targetBundleName)
.then((data) => { .then((data) => {
console.log('Verification succeeded.' + data) console.log('Verification succeeded.' + data)
......
...@@ -348,6 +348,60 @@ Cross-device installation-free is not supported. ...@@ -348,6 +348,60 @@ Cross-device installation-free is not supported.
确认为非跨设备免安装应用。 确认为非跨设备免安装应用。
## 16000058 指定的URI flag无效
**错误信息**
Invalid URI flag.
**错误描述**
指定的URI flag无效。
**可能原因**
传入的参数有误。
**处理步骤**
确认传入的参数属于Uri flag。
## 16000059 指定的URI类型无效。
**错误信息**
Invalid URI type.
**错误描述**
指定的URI类型无效。
**可能原因**
传入的参数有误,目前URI授权管理仅支持file类型URI。
**处理步骤**
确认传入的参数属于支持的URI类型。
## 16000060 不支持沙箱应用授权URI
**错误信息**
Sandbox application can not grant URI permission.
**错误描述**
当沙箱应用授权URI时,方法将返回该错误码。
**可能原因**
不支持沙箱应用授权URI
**处理步骤**
确认为非沙箱应用。
## 16000101 执行shell命令失败 ## 16000101 执行shell命令失败
**错误信息** **错误信息**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册