更新记录
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 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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
- Android悬浮框权限;
- android修改系统设置权限;
- Android通知栏权限
- Android手机状态权限
ios
-
备忘录权限
-
用户追踪功能权限
//如何需要添加其他权限,可以留言;
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表示不支持或者未开启;
使用过程中如果有疑问,可以联系我,或者评论区留言