Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d4dd6dc0
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看板
未验证
提交
d4dd6dc0
编写于
8月 30, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 30, 2023
浏览文件
操作
浏览文件
下载
差异文件
!23524 访问控制permissionrequestresult.md告警整改-4.0beta2挑单
Merge pull request !23524 from zhouyan/cherry-pick-1693379363
上级
6658735c
cd3667fa
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
52 addition
and
2 deletion
+52
-2
zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md
...ion-dev/reference/apis/js-apis-permissionrequestresult.md
+52
-2
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md
浏览文件 @
d4dd6dc0
...
...
@@ -21,15 +21,65 @@
通过atManager实例来获取。
**示例:**
ArkTS语法不支持直接使用globalThis,需要通过一个单例的map来做中转。开发者需要:
a. 在EntryAbility.ets中导入构建的单例对象GlobalThis。
```
typescript
import
{
GlobalThis
}
from
'
../utils/globalThis
'
;
// 需要根据globalThis.ets的路径自行适配
```
b. 在onCreate中添加:
```
typescript
GlobalThis
.
getInstance
().
setContext
(
'
context
'
,
this
.
context
);
```
> **说明:**
>
> 由于在ts中引入ets文件会有告警提示,需要将EntryAbility.ts的文件后缀修改为EntryAbility.ets,并在module.json5中同步修改。
**globalThis.ets示例代码如下:**
```
typescript
import
common
from
'
@ohos.app.ability.common
'
;
// 构造单例对象
export
class
GlobalThis
{
private
constructor
()
{}
private
static
instance
:
GlobalThis
;
private
_uiContexts
=
new
Map
<
string
,
common
.
UIAbilityContext
>
();
public
static
getInstance
():
GlobalThis
{
if
(
!
GlobalThis
.
instance
)
{
GlobalThis
.
instance
=
new
GlobalThis
();
}
return
GlobalThis
.
instance
;
}
getContext
(
key
:
string
):
common
.
UIAbilityContext
|
undefined
{
return
this
.
_uiContexts
.
get
(
key
);
}
setContext
(
key
:
string
,
value
:
common
.
UIAbilityContext
):
void
{
this
.
_uiContexts
.
set
(
key
,
value
);
}
// 其他需要传递的内容依此扩展
}
```
```
ts
import
{
BusinessError
}
from
'
@ohos.base
'
;
import
abilityAccessCtrl
from
'
@ohos.abilityAccessCtrl
'
;
import
common
from
'
@ohos.app.ability.common
'
;
import
{
GlobalThis
}
from
'
../utils/globalThis
'
;
let
atManager
=
abilityAccessCtrl
.
createAtManager
();
try
{
atManager
.
requestPermissionsFromUser
(
this
.
context
,
[
"
ohos.permission.CAMERA
"
]).
then
((
data
)
=>
{
let
context
:
common
.
UIAbilityContext
=
GlobalThis
.
getInstance
().
getContext
(
'
context
'
);
atManager
.
requestPermissionsFromUser
(
context
,
[
"
ohos.permission.CAMERA
"
]).
then
((
data
)
=>
{
console
.
info
(
"
data:
"
+
JSON
.
stringify
(
data
));
console
.
info
(
"
data permissions:
"
+
data
.
permissions
);
console
.
info
(
"
data authResults:
"
+
data
.
authResults
);
}).
catch
((
err
)
=>
{
}).
catch
((
err
:
BusinessError
)
=>
{
console
.
info
(
"
data:
"
+
JSON
.
stringify
(
err
));
})
}
catch
(
err
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录