更新记录
1.0.0(2025-01-02) 下载此版本
解决安卓设备 未同步告知权限申请的使用目的、小米,华为上架应用市场被拒等问题 附带demo页面使用示例,引入可直接使用 代码里有注释,操作简单,无需自己修改
平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
× | √ | - | - | √ | - | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
√ | - | - | - | - | - | - | - | - | - | - |
引入
import xyPermission from '@/uni_modules/xy-permission/components/xy-permission/xy-permission.vue'
import { requestAndroidPermission, gotoAppPermissionSetting } from '@/uni_modules/xy-permission/permission.js'
使用
<view class="" @click="handleCall()">
我要打电话
</view>
<xyPermission :show="showTip" title="拨打电话权限申请说明" content="我们将获取系统拨打电话功能,用于与客户电话沟通交流"></xyPermission>
const handleCall = ((e) =>{
if(!e){
uni.$u.toast('找不到该客户号码');
return
}
// 4.判断是否为安卓移动端,只有安卓才需要,ios自带同步告知权限申请的使用目的
//#ifdef APP-PLUS
const systemInfo = uni.getSystemInfoSync();
if(systemInfo.platform === 'android'){
showTip.value = true
requestAndroidPermission('phone').then(res =>{
if(res.data === 1){ //已有权限
// 5.这里写你自己的逻辑代码
uni.makePhoneCall({
phoneNumber: e
})
}
}).catch(err =>{
uni.$u.toast(err.data);
}).finally(() =>{
showTip.value = false
})
}else{
uni.makePhoneCall({
phoneNumber: e
})
}
//#endif
// 6.H5不需要权限说明,方便H5网页调试
//#ifdef H5
uni.makePhoneCall({
phoneNumber: e
})
//#endif
})