-
首先,在AndroidManifest.xml文件中添加以下权限:
-
然后,在代码中请求位置权限:
private val PERMISSION_REQUEST_CODE: Int = 101
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
//权限已经授予,可以进行相关操作
} else {
//向用户请求位置权限
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), PERMISSION_REQUEST_CODE)
}
- 接着,重写onRequestPermissionsResult方法,以处理位置权限的回调:
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
when(requestCode) {
PERMISSION_REQUEST_CODE -> {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//位置权限已授予,可以进行相关操作
} else {
//位置权限未授权,无法进行相关操作
}
}
else -> super.onRequestPermissionsResult(requestCode, permissions, grantResults)
}
}