
우선 사용자의 위치 정보를 불러와야 한다. 위치 정보를 가져오기 위해서 권한 을 설정한다.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
권한을 설정했으면 requestPermission 과 onRequestPermissionResult 를 구현한다. requestPermission 은 권한을 요청하고 onRequestPermissonResult 는 권한 요청의 결과를 확인한다.
우선 companion object 로 요청할 권한들을 정의했다.
companion object {
private val permissions = arrayOf(
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION
)
private val backgroundPermissions = arrayOf(
Manifest.permission.ACCESS_BACKGROUND_LOCATION
)
const val REQUEST_ACCESS_LOCATION_PERMISSIONS = 100
const val REQUEST_ACCESS_BACKGROUND_LOCATION_PERMISSIONS = 101
}
요청할 권한들과 권한에 대한 고유값을 입력한다.
private fun requestLocationPermissions() {
ActivityCompat.requestPermissions(
this,
permissions,
REQUEST_ACCESS_LOCATION_PERMISSIONS
)
}