更新记录

1.0.5(2021-11-22)

1、移除了通讯录权限,和日历权限; 2、移除了ios 提醒权限;

1.0.4(2021-11-18)

1、更新了Android sdk,适配android12; 2、增加了通讯录权限 3、增加了日历权限; 4、增加了Android外部apk安装权限; 5、增加了Android悬浮框权限; 等等;

1.0.3(2020-12-31)

1、修复了android 相机权限bug

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


常用权限检测和申请工具

<!--备注:标注了ios的,或者标注android的表示系统独有的权限;--> <!--对Android 进入设置页面进行了国产手机的兼容;-->

android

  1. Android悬浮框权限;
  2. android修改系统设置权限;
  3. Android通知栏权限
  4. Android手机状态权限

ios

  1. 备忘录权限

  2. 用户追踪功能权限

//如何需要添加其他权限,可以留言;

1、Android

版本需求最低为21;

android这边引用的是:https://github.com/getActivity/XXPermissions 这个库;

需要进行权限的配置;

manifest.json/App权限配置/Android权限配置表中,根据需求进行勾选

//拨打电话
<uses-permission android:name="android.permission.CALL_PHONE" />

//相机拍照
<uses-permission android:name="android.permission.CAMERA" />

//定位
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

//麦克风
<uses-permission android:name="android.permission.RECORD_AUDIO" />

//存储,这是系统已经设置了,还是必需的;必须勾选
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

//设置修改权限
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

2、IOS

系统需要为iOS9.0以上;

需要配置隐私权限说明信息;这个是必需的,是苹果那边要求的,不配置是审核不过的;

manifest.json/App权限配置/ios隐私访问的许可描述;

3、API使用介绍:

//引入

const checkPermission=uni.requireNativePlugin("CL-Permission");

checkIosReminder:function(){
            ios备忘录权限
                checkPermission.checkReminder(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },
            checkIosTracking:function(){
                //ios跟踪功能权限
                checkPermission.checkTracking(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },
            checkIosNoti:function(){
                //ios通知权限
                checkPermission.checkIosNoti(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },
            checkWriteSettings:function(){
                //android 修改设置权限
                checkPermission.checkWriteSettings(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            }


}, checkSystemAlertWindow:function(){ //android 悬浮窗权限 checkPermission.checkSystemAlertWindow(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })
            },
            checkInstallPackages:function(){
                //安装包权限"android.permission.REQUEST_INSTALL_PACKAGES",安装外部来源应用
                checkPermission.checkInstallPackages(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },
            checkNotificationSevice:function(){
                //android 通知栏权限
                checkPermission.checkNotificationSevice(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },
            checkReadPhoneState:function(){

                //Android读取手机状态权限
                checkPermission.checkReadPhoneState(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },

            //检测Android拨打电话权限
            checkAndCallPhonePermi:function(){

                checkPermission.checkCallPhonePermission(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },

            //检测Android读写权限
            checkSaveAndRead:function(){

                checkPermission.checkSaveAndRead(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })      
                })

            },

            //检测相机权限;
            checkCameraPermi:function(){

                checkPermission.checkCamera(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })

                })  
            },

            //检测麦克风权限(录音权限)
            checkMicrophonePermi:function(){

                checkPermission.checkMicrophone(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })

                })


}, //检测相册权限; checkPhotosPermi:function(){

                checkPermission.checkPhotos(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })  
                })

            },
            //检测定位权限
            checkLocationPermi:function(){

                checkPermission.checkLoaction(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })

                })

            },


//检测ios蜂窝网络权限 checkIosNetPermi:function(){ //有时用户拒绝了使用蜂窝网络,导致在没有wifi的情况下无法访问网络;

                checkPermission.checkIosNet(result=>{

                    uni.showModal({
                        showCancel:false,
                        content: "权限状态"+JSON.stringify(result)
                    })

                })


}



//进入app设置页面 checkPermission.goSettingPage();//用于手动进行权限的开启和关闭;
//进入android通知设置页面 checkPermission.goToNotiSet();


//返回值的介绍;

const{code}=result

code==1表示已经授权; 0表示未授权, 2表示不支持或者未开启;

使用过程中如果有疑问,可以联系我,或者评论区留言

隐私、权限声明

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

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

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

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