前期步骤与java一样不再赘述。这里只贴kotlin代码.
build.gradle 添加
//权限相关 implementation 'com.guolindev.permissionx:permissionx:1.6.1'
需要定位的界面的逻辑代码
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initPermission()
}
}
override fun onResume() {
super.onResume()
//获取定位服务
getLocationService()
}
//权限
private fun initPermission() {
PermissionX.init(this)
.permissions(
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
)
.onExplainRequestReason { scope, deniedList ->
val message = "APP需要您同意以下权限才能正常使用"
scope.showRequestReasonDialog(deniedList, message, "允许", "取消")
}
.onForwardToSettings { scope, deniedList ->
scope.showForwardToSettingsDialog(deniedList, "您需要去应用程序设置当中手动开启权限", "去设置", "退出")

该博客展示了如何在Kotlin中使用PermissionX库进行权限申请,并结合高德地图SDK实现定位服务。首先在build.gradle文件中添加依赖,然后在Activity的onCreate和onResume方法中初始化权限检查和获取定位服务。如果用户授予权限,则启动定位;否则提示用户开启定位服务或退出应用。定位成功后,获取到的城市、区县和街道信息将被打印。
最低0.47元/天 解锁文章
301

被折叠的 条评论
为什么被折叠?



