当我们在使用uni.getLocation的API时,会发现用户并没有开启微信信息服务或者没有授权位置信息权限,而导致回调fail,那么就需要去判断并引导用户前往开启。

判断是否开启位置信息服务(安卓Android)

checkOpenGPSService() {let systemType = uni.getSystemInfoSync().platform;// 安卓if (systemType === 'android') {var context = plus.android.importClass('android.content.Context');var locationManager = plus.android.importClass('android.location.LocationManager');var main = plus.android.runtimeMainActivity();var mainSvr = main.getSystemService(context.LOCATION_SERVICE);if (!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)) {uni.showModal({title: '提示',content: '请打开定位服务功能',showCancel: false,success() {if (!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)) {var Intent = plus.android.importClass('android.content.Intent');var Settings = plus.android.importClass('android.provider.Settings');var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);main.startActivity(intent); // 打开系统设置定位服务功能页面} else {console.log('定位服务功能已开启');}}});}}
}

当我做到需要向用户发起授权请求,以为可以用uni.authorize来处理,But!App并不支持!再注意到下面那段话:App平台的授权判断方式,另见:https://ext.dcloud.net.cn/plugin?id=594,那就好办了。

以下是使用插件的方式:

文档:App权限判断和提示

先引入插件

import permision from "@/js_sdk/wa-permission/permission.js";

检查是否开启位置信息权限

// 检查是否开启位置信息权限
async checkOpenPermission() {let result = await permision.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION');if (result == 1) {console.log("已获得授权");} else {console.log("未获得权限");uni.showModal({title: '提示',content: '请开启位置信息权限',showCancel: false,success() {permision.gotoAppPermissionSetting(); // 打开权限设置界面}});}
},

检查是否开启位置信息服务

// 检查是否开启位置信息服务
checkOpenService() {let result = permision.checkSystemEnableLocation();if(!result) {uni.showModal({title: '提示',content: '请打开定位服务功能',showCancel: false,success() {var main = plus.android.runtimeMainActivity();var Intent = plus.android.importClass('android.content.Intent');var Settings = plus.android.importClass('android.provider.Settings');var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);main.startActivity(intent); // 打开系统设置GPS服务页面}});}else {console.log('已开启定位服务功能');}
},

uniapp - APP判断是否开启位置信息服务判断是否授权位置信息权限相关推荐

  1. uniapp微信小程序:点击按钮先判断用户是否授权位置信息、用户位置信息授权、进入下一个页面

    文章目录 前言 一.创建点击事件的方法 二.判断用户是否授权位置 三.弹出位置授权框 四.坐标到坐标所在位置的文字描述的转换(逆地址解析) 五.拒接授权后再次点击按钮跳转到允许访问位置设置 总结 前言 ...

  2. 两圆圆心距离计算及位置关系判断(C++实现)

    实验目的 学习友元函数的定义与调用,理解友元函数的意义. 实验原理 友元函数时在类中用关键字 friend修饰的函数,是类的非成员函数,但是它可以通过对象名访问类的私有和保护成员 利用圆心距与两圆半径 ...

  3. 怎么判断前轮左右的位置_左右车轮位置怎么判断?看方向盘就知道了,聪明的人都这么做...

    在这篇文章开始之前,小编想让大家先回忆一下自己在驾照里面学车时的场景.学习过开车的人都应该知道,在开车的时候路面上有许多实线是汽车轮胎不能够压的.要是在进行驾照考试的时候你压了黄线的话,那么你就很倒霉 ...

  4. uniapp App端使用高德地图

    uniapp App端使用高德地图 第一步: 先去高德官网申请keyhttps://console.amap.com/dev/key/app 关于SHA1生成方法如下:https://lbs.amap ...

  5. uniapp APP消息推送方案

    提示:本文实例消息推送使用uniapp官方的unipush推送: 项目场景:该项目是uniapp + uniCloud 项目,APP端的消息推送使用 html+ 与原生实现交互 1.开通推送消息 – ...

  6. UNI-APP APP版本更新方法

    UNI-APP APP版本更新方法 直接上代码不墨迹 直接上代码不墨迹 // 版本更新方法wgtUrlupload(){let _this = this;//系统版本升级判断接口(后台获取服务器)va ...

  7. uniapp APP 端 WebSocket 使用,实现一个简单 WebSocket 工具类

    背景 最近有需求要做一个简单业务的 APP 应用,简单考虑选用 uniapp + uview + vue2.x 方案,因为还有web端页面也需要用到 WebSocket ,简单封装了一个适应 web ...

  8. uni-app做android应用开启定位权限

    先说场景再贴代码,uni-app开发app应用,在用户没有开启定位时,通过uni.getLocation()无法获取用户位置信息,需要提示用户开启定位功能,具体实现如下: 第一步: 在manifest ...

  9. uni-app开发微信小程使用腾讯位置服务获取用户的位置信息

    uni-app开发微信小程使用腾讯位置服务获取用户的位置信息 一.开通腾讯位置服务 二.编码实现 (一)获取定位坐标 (二).在项目中使用 一.开通腾讯位置服务 在这里我们先要登录腾讯我i之服务的官网 ...

最新文章

  1. JS中的null和undefined,undefined为啥用void 0代替?
  2. matlab shortest函数,MATLAB函數graphallshortestpaths不返回對稱矩陣
  3. 一张图看懂混合云数据同步一站式解决方案
  4. CDOJ1633 Video Game Combos [AC自动机+dp]
  5. 【原创】linux 批量清空文本内容
  6. android go 刷机教程,安卓用的久了,如何刷机?安卓手机线刷教程
  7. Spring boot CommandLineRunner接口使用例子
  8. 电子设计竞赛技术报告格式
  9. clousx6机器人卡密_手机x6机器人词库编程-clousx6词库助手免费版v8.0 安卓最新版-2265安卓网...
  10. 仿美团酒店预订的html模板,jQuery手机端仿美团酒店预订日期选择插件
  11. matlab求arma模型残差,求教关于ARMA模型的残差检验
  12. 认识计算机拓扑结构图,认识一下网络拓扑,几张图片几条线。
  13. 老牌下载站fixdown被挂马 威金蠕虫开始复苏
  14. 逆发动机模型map图制作
  15. excel查找并高亮展示重复值
  16. 一文揭秘字节跳动、华为、京东的薪资职级
  17. 高等数学:一元函数微分学
  18. Order by 1 的解释
  19. 腾讯、阿里、百度高工都点头称赞的“Redis 实战超全笔记”,不看你就亏大发了
  20. jQuery_02 快速入门 $作用和方法

热门文章

  1. stm32命名规范总结
  2. 计算机硬盘根目录是什么,硬盘根目录是什么意思指的是什么
  3. Prometheus+Grafana (史上最全)
  4. Visio绘制网络模型
  5. 预测模型介绍及预测与决策的联系
  6. vue 中的 prop
  7. 深圳一普通中学老师工资单曝光,秒杀程序员,网友:酸了酸了
  8. 企业网站优化操作步骤分享
  9. 设备巡检维修报备小程序开发制作功能介绍
  10. linux7配置dns服务,RHEL7 DNS配置