create-request-permission-listener.md 1.8 KB
Newer Older
D
DCloud_LXH 已提交
1 2 3 4
## uni.createRequestPermissionListener() @createrequestpermissionlistener

<!-- UTSAPIJSON.createRequestPermissionListener.description -->

W
措辞  
wanganxp 已提交
5
app-android平台,可使用本API监听应用权限申请确认框的弹出和关闭。不管是哪处的业务代码在申请权限,当弹出和关闭权限申请确认框时均会触发本监听事件。
6

W
措辞  
wanganxp 已提交
7 8 9 10 11 12
华为应用市场审核时要求:`APP在调用终端权限时,应同步告知用户申请该权限的目的`。此时即可使用本API,在app.uvue里全局监听。

创建监听对象后,返回RequestPermissionListener,然后调起其的onConfirm和onComplete。

- 当权限申请的确认框在手机端弹出时,会触发onConfirm
- 当权限申请的确认框被用户关闭后,会触发onComplete
13

D
DCloud_LXH 已提交
14 15 16 17
<!-- UTSAPIJSON.createRequestPermissionListener.param -->

<!-- UTSAPIJSON.createRequestPermissionListener.returnValue -->

W
wanganxp 已提交
18
## Tips
19

W
wanganxp 已提交
20 21 22 23
- 如果权限已经申请并且允许之后,`onConfirm`不会触发。
- 如果同时申请多个权限时,`onComplete`可能会触发多次。
- uni-app x 中如果请求一个已经被永久拒绝的权限,可能会触发`onConfirm`。目前的临时方案是做延时处理,如下面示例代码。后续会修复此问题。
- 权限列表参考:[https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions)
24
- 全局监听权限申请可参考插件[uni-registerRequestPermissionTips](https://ext.dcloud.net.cn/plugin?name=uni-registerRequestPermissionTips)
25

D
DCloud_LXH 已提交
26 27 28 29 30 31 32 33
<!-- UTSAPIJSON.createRequestPermissionListener.example -->

<!-- UTSAPIJSON.createRequestPermissionListener.compatibility -->

<!-- UTSAPIJSON.createRequestPermissionListener.tutorial -->

<!-- UTSAPIJSON.general_type.name -->

34
<!-- UTSAPIJSON.general_type.param -->