PermissionsPlugin
简介
易用好用的权限插件,只需调用一个方法,返回true的结果后做自己业务,其他的都不用管都不用管都不用管...
未确认情况下会主动帮你申请权限,权限被拒绝或被限制会主动引导用户跳转应用权限去打开
使用示例
复制代码// 引用插件
const permissionsModule = uni.requireNativePlugin("Chen-PermissionsModule")
// 调用插件方法
permissionsModule.checkPermissions(options,(result) => {
if (result) {
// 只需返回true的结果后做自己业务 其他的都不用管
}
}
属性说明
属性名 | 类型 | 说明 |
---|---|---|
options | String | 需要处理的权限名 |
result | Boolean | 返回值(已授权/被拒绝、被限制、未知) |
options参数说明:
相关权限名 | 对应权限参数 |
---|---|
相机权限 | camera |
相册权限 | photo |
麦克风权限 | audio |
定位权限 | location |
通讯录权限 | contacts |
日历权限 | calendar |
通话权限 | call_phone |
权限配置
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>