更新记录

1.0.3(2025-02-25) 下载此版本

修复权限说明文字较少时,文字不显示问题

1.0.2(2025-01-24) 下载此版本

更改包名和文件名,与npm包一致;更新markdown

1.0.0(2025-01-23) 下载此版本

初次发布插件

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.01 app-vue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

欢迎使用 c-permission-listener(最新支持uni_modules版本插件地址:https://ext.dcloud.net.cn/plugin?id=22675)

注意:按需增加相对应权限,在 manifest.json 中添加

注意:HBuilderX 4.01 Vue2项目需要使用自定义基座测试监听权限申请的功能,标准基座暂不支持测试。

把文章修改成插件,原文:https://ask.dcloud.net.cn/article/41194

安卓离线打包方法:https://ask.dcloud.net.cn/article/41380

uniapp官方权限文档:https://uniapp.dcloud.net.cn/tutorial/app-permission-android.html#default

Android权限文档:https://developer.android.google.cn/reference/android/Manifest.permission

注意:读取权限(READ_EXTERNAL_STORAGE)记得同时加上相对应的最新权限,做兼容处理,具体看Android权限文档;访问图片权限:READ_MEDIA_IMAGES, 读取视频权限:READ_MEDIA_VIDEO, 读取音频权限:READ_MEDIA_AUDIO

安装

// npm安装方式,插件市场导入无需执行此命令。插件市场导入地址:https://ext.dcloud.net.cn/plugin?id=21973
npm install c-permission-listener

使用方法

App.vue文件添加下列代码:

<script>
    // 以下导入方式按照安装方式导入
    import permissionListener from "@/js_sdk/c-permission-listener/c-permission-listener.js";       // 插件市场导入方法
    import permissionListener from "c-permission-listener";     // npm导入方法
    export default {
        onLaunch: function() {
            console.log('App Launch')
            // 如果想让listenerFunc函数在onLaunch生命周期执行,那onHide生命周期就不执行stopFunc函数,有没有bug需要测试下
        },
        onShow: function() {
            console.log('App Show')
            const permissionEnums = {
                // 取android.permission.ACCESS_COARSE_LOCATION后面那个
                "ACCESS_COARSE_LOCATION": {
                    name: "定位", // 当前权限的名称
                    explain: "展示附近店铺、填写收货地址等相关功能"       // 权限说明
                },
                "CALL_PHONE": {
                    name: "电话", // 当前权限的名称
                    explain: "拨打电话"     // 权限说明
                }
            }
            // 唤起权限会触发onHide,所以listenerFunc须在onShow生命周期调用
            permissionListener && permissionListener.listenerFunc(permissionEnums);
        },
        onHide: function() {
            console.log('App Hide')
            permissionListener && permissionListener.stopFunc();
        }
    }
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

按需增加权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问