Android-通过GPS或者网络获取当前位置 kotlin
private fun getLocation(context: Context): Location { val locMan = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager val checkCameraPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) val checkCallPhonePermission = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED || checkCameraPermission != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, permission, 2) } way.text = "通过GPS定位" val location = locMan.getLastKnownLocation(LocationManager.GPS_PROVIDER) if (location == null) { way.text = "通过网络定位" locMan.getLastKnownLocation(LocationManager.NETWORK_PROVIDER) } return location } private fun getGeoByLocation(location:Location){ longitude.text ="longitude:${location.longitude}" latitude.text = "latitude:${location.latitude}" val ge =Geocoder(this) var addressList =ArrayList() try { addressList = ge.getFromLocation(location.latitude,location.longitude,1) as ArrayList detail.text = addressList.toString() }catch (e:IOException){ e.printStackTrace() } if (addressList.size>0){ address.text = "${addressList[0].getAddressLine(0)}" } }
来源:https://www.cnblogs.com/lyj348990/p/11537410.html
另外还可以使用: