Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
932d4a62
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
932d4a62
编写于
11月 30, 2022
作者:
O
openharmony_ci
提交者:
Gitee
11月 30, 2022
浏览文件
操作
浏览文件
下载
差异文件
!12011 【挑单3.2 beta3】开发指南更新
Merge pull request !12011 from chennian/cherry-pick-1669796648
上级
39a03466
f1ae02c4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
80 addition
and
45 deletion
+80
-45
zh-cn/device-dev/subsystems/subsys-security-rightmanagement.md
.../device-dev/subsystems/subsys-security-rightmanagement.md
+80
-45
未找到文件。
zh-cn/device-dev/subsystems/subsys-security-rightmanagement.md
浏览文件 @
932d4a62
...
...
@@ -55,54 +55,89 @@
本部分以包管理器的应用权限开发为例进行讲解。开发过程中,首先需要明确涉及的敏感权限,并在config.json中声明该权限,在安装应用程序时,包管理器会调用应用权限管理组件的接口检查该权限是否被授予,若授予,安装流程正常进行,否则安装失败。
1.
在开发过程中,包管理器明确需要安装应用的权限(ohos.permission.INSTALL_BUNDLE),并在config.json中声明该权限;
```
{
...
"module": {
"package": "com.example.kitframework",
"deviceType": [
"phone", "tv","tablet", "pc","car","smartWatch","sportsWatch","smartCamera", "smartVision"
],
"reqPermissions": [{
// 声明需要的权限:安装应用程序的权限名
"name": "ohos.permission.INSTALL_BUNDLE",
"reason": "install bundle",
"usedScene": {
"ability": [
"KitFramework"
],
"when": "always"
}
},
{
"name": "ohos.permission.LISTEN_BUNDLE_CHANGE",
"reason": "install bundle",
"usedScene": {
"ability": [
"KitFramework"
],
"when": "always"
}
},
{
"name": "ohos.permission.GET_BUNDLE_INFO",
"reason": "install bundle",
"usedScene": {
"ability": [
"KitFramework"
],
"when": "always"
}
}
],
...
}
```
FA模型:需要在config.json中声明权限,示例:
```
json
{
"module"
:
{
"package"
:
"ohos.demo.kitframework"
,
"deviceType"
:
[
"phone"
,
"tv"
,
"tablet"
,
"car"
,
"smartWatch"
,
"sportsWatch"
,
"smartCamera"
,
"smartVision"
],
"reqPermissions"
:
[{
"name"
:
"ohos.permission.INSTALL_BUNDLE"
,
"reason"
:
"install bundle"
,
"usedScene"
:
{
"ability"
:
[
"KitFramework"
],
"when"
:
"always"
}
},
{
"name"
:
"ohos.permission.LISTEN_BUNDLE_CHANGE"
,
"reason"
:
"install bundle"
,
"usedScene"
:
{
"ability"
:
[
"KitFramework"
],
"when"
:
"always"
}
},
{
"name"
:
"ohos.permission.GET_BUNDLE_INFO"
,
"reason"
:
"install bundle"
,
"usedScene"
:
{
"ability"
:
[
"KitFramework"
],
"when"
:
"always"
}
}
]
}
}
```
Stage模型:需要在module.json5中声明权限,示例:
```
json
{
"module"
:
{
"requestPermissions"
:
[{
"name"
:
"ohos.permission.INSTALL_BUNDLE"
,
"reason"
:
"install bundle"
,
"usedScene"
:
{
"ability"
:
[
"KitFramework"
],
"when"
:
"always"
}
},
{
"name"
:
"ohos.permission.LISTEN_BUNDLE_CHANGE"
,
"reason"
:
"install bundle"
,
"usedScene"
:
{
"ability"
:
[
"KitFramework"
],
"when"
:
"always"
}
},
{
"name"
:
"ohos.permission.GET_BUNDLE_INFO"
,
"reason"
:
"install bundle"
,
"usedScene"
:
{
"ability"
:
[
"KitFramework"
],
"when"
:
"always"
}
}]
}
}
```
2.
当包管理器开发应用安装功能接口时,会调用权限管理相关接口检查自身是否具有安装应用程序的权限,例如:以安装应用的权限名"ohos.permission.INSTALL_BUNDLE"作为入参,调用CheckPermission接口检查包管理器是否具有安装应用的权限,如果有权限,安装流程继续执行,否则返回安装失败;
```
```
c++
constexpr
static
char
PERMISSION_INSTALL_BUNDLE
[]
=
"ohos.permission.INSTALL_BUNDLE"
;
bool
Install
(
const
char
*
hapPath
,
const
InstallParam
*
installParam
,
InstallerCallback
installerCallback
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录