关于提示用户打开权限的请求(高德地图定位权限为例)

在使用高德地图时遇到定位问题,地图能显示但无法定位到正确位置。尽管权限配置正确,仍需手动提示用户开启定位权限,因为部分权限属于危险级别,需要用户同意。为提供良好用户体验,开发者应实现代码逻辑以提示用户开启所需权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用到高德地图之后出现了许许多多的问题,其中一个就是定位权限的问题。

高德地图按照官操作配置,打开之后发现地图也能显示出来,定位按钮也在,但是找不到小蓝点了,并且自己的位置出现在非洲(非洲??),也就是说根本不能实现定位的

操作,然后打发Manifest对照官网的权限配置看了一遍发现定位权限也有,跟官网的一致,那么问题就来了 ,为什么我点击定位按钮不会回到自己的位置呢?

一般用到的权限 如:

<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
这个就是打开运行应用网络访问的权限,像这种权限不需要用户自己操作,我们直接定义在Manidest中接可以使用。

为什么有的android程序的权限在开发的时候,不用在权限管理里面打开也可以正常使用呢?

这是因为google把permission权限分为好几个Protection leve,可以在google的官方文档的权限列表里面看到,其中,

危险级别的是需要用户经过选择允许才可以开启的,也就是说,需要开发者在程序代码中逻辑实现给用户选择,不然,

用户不知道是否需要开启所需要的权限;

那么就需要问们来提示用户打开权限,不然用户不知道权限是什么,就算是知道了估计也不会去设置里面打开,

这样用户体验是很差的。那么我们来看怎么提醒用户来打开权限呢?

   //检测系统是否打开开启了地理定位权限 
   if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION)!=PackageManager.PERMISSION_GRANTED){
      ActivityCompat.requestPermissions(this, new String []{android.Manifest.permission.ACCESS_COARSE_LOCATION},1);
      }
   这样就会在应用需要定位权限的是时候提示用户打开需要的权限。
  理解的很浅新手遇到或许能帮到,大神自己飘过........
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值