Skip to content

Perm Listener 权限申请监听

基本使用

  • 应用申请权限时,自动同步弹出权限用途说明弹窗
  • 只在单页面生效
  • 当权限已授予或永久拒绝后,不再弹出
vue
<template>
	<sn-page>
    <com-card>
      <sn-button text="申请相机权限" @click="requestCamera"></sn-button>
      <sn-button text="申请相册权限" @click="requestPhoto"></sn-button>
  	</com-card>
    <sn-perm-listener :data="permData"></sn-perm-listener>
  </sn-page>
</template>
ts
const permConfigs = new Map<string, UTSJSONObject>()

permConfigs.set('android.permission.CAMERA', {
	title: '正在请求相机权限',
	content: '仅用于扫描二维码,不会将您的任何隐私数据上传云端'
})

permConfigs.set('android.permission.READ_MEDIA_IMAGES', {
	title: '正在请求图片权限',
	content: '仅用于选择图片,不会将您的任何隐私数据上传云端',
	icon: 'image-circle-fill'
})

function requestPhoto() {
	snu.requestMediaPermission({
		types: ['image', 'audio','video']
	})
}

function requestCamera() {
  snu.requestSystemPermission({
		permissions: ['android.permission.CAMERA']
	})
}

更多演示请下载 demo 查看

属性

参数说明类型默认值可选值
data权限配置数据,每个权限支持配置 titlecontenticon,具体用法参考上方示例代码Map<String, UTSJSONObject>--
padding内容区域的内边距String20px-
position弹出框的位置Stringtoptop|bottom|left|right|center
maskOpacity遮罩层的透明度Number0.5-
bgColor弹出框的背景颜色String$front-
iconSize图标的大小String$5-
iconColor图标的颜色String$title-
contentSize内容的字体大小String$2-
contentColor内容的颜色String$text-
titleSize标题的字体大小String$3-
titleColor标题的颜色String$title-
customStyle自定义弹窗样式UTSJSONObject{}-

使用 MIT 协议