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

来源:互联网 发布:可以编辑照片的软件 编辑:程序博客网 时间:2024/05/16 08:16

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

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

操作,然后打发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 0
原创粉丝点击