14年毕业一直从事delphi桌面开发,尝试着去转android,google发布了官方开发语言,觉得是一个机会,所以尝试使用kotlin开发,在获取位置信息的时候遇到了一下问题,先记录如下,以便以后查阅。
参考资料:
1.探索android6.0的权限模型 http://blog.csdn.net/u014254481/article/details/50338237
2.Android M 新的运行时权限开发者需要知道的一切,android开发者
http://www.android100.org/html/201509/01/178112.html
3.android中通过GPS或NetWork获取当前位置的经纬度
http://blog.csdn.net/cjjky/article/details/6557561
权限模型
之前在旧的权限模型下用户在安装app时就不得不去授予应用各种各样的权限,而这个app甚至都还没有被使用过。这也就意味着用户必须在使用某个app之前,就对它持有某种程度的信任,而对于很多用户来说,这可能会直接影响到他们决定是否要安装这个应用程序。 在Android-M中,权限请求列表会大大缩减,而且只会出现在当它们是必需之时。
权限限制被整理成了八个不同的权限组:
在Android-M中,如果是同属于一类的权限,就会被整理到一个组别之下,这个组别将会在用户发出确切请求时来申请获得具体的权限,所以举例来说,如果要获得“读取日历”(READ_CALENDAR)的权限,那用户就会被提示是否授予“日历”权限。
这些权限组别中,很多都包含了好几个具体权限,可表现为以下分组:
每个权限组包含很多具体权限
运行时的权限模型如下:
系统需要做一系列检查来允许你或者用户继续操作
下面简单粗暴上代码:
class MainActivity : AppCompatActivity() { //lateinit 延后初始化,定义了只能在onCreate中初始化的全局变量 private lateinit var textView: TextView private lateinit var locationManager: LocationManager