更新记录
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>