更新记录
1.0.4(2022-09-26)
解决iOS端自定义基座找不到该插件...
1.0.3(2021-10-12)
修复iOS上架审核提示权限缺失
1.0.2(2021-09-18)
更新下信息
查看更多平台兼容性
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原生插件配置”->”云端插件“列表中删除该插件重新选择
PermissionsPlugin
简介
易用好用的权限插件,只需调用一个方法,返回true的结果后做自己业务,其他的都不用管都不用管都不用管...
未确认情况下会主动帮你申请权限,权限被拒绝或被限制会主动引导用户跳转应用权限去打开
Tips:如若返回插件内部操作异常,请检查下参数,凡开启监听处销毁时调用下关闭监听方法
若有问题或需求加VX:Chen-Taurus-0510(请备注uniapp)
使用示例
// 引用插件
const permissionsModule = uni.requireNativePlugin("Chen-PermissionsPlugin")
// 调用插件方法
permissionsModule.checkPermissions(options,(result) => {
if (result) {
// 只需返回true的结果后做自己业务 其他的都不用管
}
}
属性说明
属性名 | 类型 | 说明 |
---|---|---|
options | String | 需要处理的权限名 |
result | Boolean | 返回值(已授权/被拒绝、被限制、未知) |
options参数说明:
相关权限名 | 对应权限参数 |
---|---|
相机权限 | camera |
相册权限 | photo |
麦克风权限 | audio |
定位权限 | location |
通讯录权限 | contacts |
日历权限 | calendar |
通话权限 | call_phone |
短信权限 | sms |
权限配置
1.Android
manifest.json/App权限配置/Android权限配置表中,根据需求进行勾选
<!-- 存储 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 相机 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- 录音 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- 定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 推送 -->
<uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
<!-- 蓝牙 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<!-- 通讯录 -->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- 日历 -->
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<!-- 拨打电话 -->
<uses-permission android:name="android.permission.CALL_PHONE" />
<!-- 短信 -->
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
1.IOS
manifest.json/App权限配置/ios隐私访问的许可描述,根据需求进行配置
权限配置中有些权限没有,插件中所需要的已有权限如下
<!-- 相册 -->
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
<!-- 相机 -->
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>
<!-- 麦克风 -->
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>
<!-- 位置 -->
<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>
<!-- 在使用期间访问位置 -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期间访问位置</string>
<!-- 始终访问位置 -->
<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始终访问位置</string>
<!-- 网络 -->
<key>NSLocalNetworkUsageDescription</key>
<string>App需要您的同意,才能访问网络</string>
<!-- 蓝牙 -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能访问蓝牙</string>
<!-- 通讯录 -->
<key>NSContactsUsageDescription</key>
<string>App需要您的同意,才能访问通讯录</string>
<!-- 日历 -->
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能访问日历</string>