<!--定位权限--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
// 请求结果,返回一个map ,其中 key 为权限名称,value 为是否权限是否赋予
registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { it -> //通过的权限val grantedList = it.filterValues { it }.mapNotNull { it.key } //是否所有权限都通过val allGranted = grantedList.size == it.sizeif(!allGranted) "请同意所需权限!".showShortToast() else location()}.launch(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION))
/*** 定位获取当前城市*/private fun location() {val locationManager = context?.getSystemService(Context.LOCATION_SERVICE) as LocationManagervar providerName = ""val providerList = locationManager.getProviders(true)providerName = when {providerList.contains(LocationManager.NETWORK_PROVIDER) -> {LocationManager.NETWORK_PROVIDER}providerList.contains(LocationManager.GPS_PROVIDER) -> {LocationManager.GPS_PROVIDER}else -> {"provider 获取失败".showShortToast()return}}val location = if(context?.let { ActivityCompat.checkSelfPermission(it, Manifest.permission.ACCESS_FINE_LOCATION) } == PackageManager.PERMISSION_GRANTED && context?.let { ActivityCompat.checkSelfPermission(it, Manifest.permission.ACCESS_COARSE_LOCATION) } == PackageManager.PERMISSION_GRANTED) {locationManager.getLastKnownLocation(providerName)} else nullif(location != null) {val longitude : Double = location.longitude // 经度val latitude : Double = location.latitude // 纬度// 因为这里 Geocoder对象的 getFromLocation 方法,源码说明中建议在工作线程执行 getFromLocation方法Thread {try {val geocoder = Geocoder(context, Locale.getDefault())val result = geocoder.getFromLocation(latitude, longitude, 1)[0].locality//result="北京市"activity?.runOnUiThread {viewModel.tvAddress.set(result)}} catch(e : Exception) {e.printStackTrace()}}.start()} else "定位失败".loge()}

android定位到市相关推荐

  1. Android 定位不依赖三方sdk

    @Android 定位不依赖三方sdk 申请定位权限 <uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion=& ...

  2. android 定位的几种方式介绍

    [地理位置] android 定位的几种方式介绍 开发中对于地图及地理位置的定位是我们经常要用地,地图功能的使用使得我们应用功能更加完善,下面 www.androidkaifa.com 总结了一下网络 ...

  3. android 定位服务 耗电吗,关于Android的定位服务

    今天因为工作须要,把以前编写的一个GPS测试法度榜样拿出来从新修改了一下.这个法度榜样说起来竽暌剐些汗青了,是我11年编写的,那时刻学了Android开辟没多久,算是一个实验性的作品.如今工作须要,从 ...

  4. 定位 android8.1.0,8.1.2 实现Android定位(2)

    8.1.2  实现Android定位(2) (3)实现定位管理器 可以使用Context.getSystemService()方法实现定位管理器功能,并传入Context.LOCATION_ SERV ...

  5. android 定位 广播,android - 如何触发广播接收器在GPS开启/关闭? - SO中文参考 - www.soinside.com...

    如何触发广播接收器在GPS开启/关闭? 问题描述 投票:35回答:5 public class BootReceiver extends BroadcastReceiver { @Override p ...

  6. android 各版本市占率,Android各版本市占率:果冻豆遥遥领先

    近日,谷歌公布了最新Android系统各版本的市场占有率.虽说已发布两年之久且推出三个版本的果冻豆系统出现了小幅下滑,但60.8%的市占率依然遥遥领先其它各版本. Android各版本市占率:果冻豆遥 ...

  7. 利用百度地图Android定位SDK获取经纬度

    环境的搭建(参考上一次的文章) 百度地图Android定位SDK的使用 2.在Android studio里设计程序来获取经纬度 界面布局activity_main.xml文件的源代码: <?x ...

  8. 基于百度地图实现Android定位功能实现(详解+教程)

    基于百度地图实现Android定位功能实现(详解+教程) 1.初始化 (一)获取到SHA1 (1)找到View中的Tool Windows并打开Terminal (2)找到你的jdk的bin目录,小编 ...

  9. Android定位功能(二)

    在前文Android定位功能(一)中,已经大致介绍了一下在Android平台中,和定位功能相关的类,并举例获取了位置信息.但是前文是基于Criteria定制了一个标准,通过getBestProvide ...

最新文章

  1. 基于C++Opencv的傅里叶变换代码
  2. Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 微服务
  3. android图片加载库Glide
  4. python bind_Python bind-允许同时按下多个键
  5. 关于 C 的 arithmetic conversion (进行 算术运算 时的 强制转换规则)
  6. HDU-1863-畅通工程(并查集)
  7. lock和synchronized的区别
  8. 一步步打造一个移动端手势库
  9. 炸裂!手摸手教你如何吃透一个 Java 项目,yyds
  10. 良田高拍仪集成WEB说明
  11. QA智能问答(QQ匹配)
  12. 我用 Python 分析1585家电商车厘子销售数据,发现这些秘密
  13. 读书笔记:技术的本质-技术是什么,它是如何进化的 (布莱恩•阿瑟)
  14. python爬虫网易云音乐评论最多的歌_Python爬虫44万条数据揭秘:如何成为网易云音乐评论区的网红段子手?...
  15. 论混合软件架构的设计
  16. HBuilderX连接不上海马玩模拟器
  17. Linux 提权总结
  18. 复旦大学和吉大计算机考研选哪个,复旦综合实力强,但这个学科比不上吉大,考生该怎么报考...
  19. C#网络爬虫(获取需要登录的网站数据)
  20. OPenGL--Transform feedback示例解析

热门文章

  1. 三小时未付款自动取消订单实现
  2. 什么?还能在网站上藏一个老婆?(怎么在给个人博客或者网站添加基于Live2D的动漫模型)
  3. Python爬虫练习记录-爬取教务系统成绩
  4. SpringBoot整合emqtt
  5. 知识图谱学习笔记——(四)知识图谱的抽取与构建
  6. Spark MLlib简介
  7. 汉字应用能力水平测试软件,我与汉字应用水平测试
  8. 【Go】goproxy设置
  9. 走进音视频的世界——音视频解码
  10. c语言生成bmp文件后不可读,怪事!!关于读bmp文件!