인프런 커뮤니티 질문&답변

APP개발/마켓등록 R&D님의 프로필 이미지
APP개발/마켓등록 R&D

작성한 질문수

[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z

메인 액티비티 - 권한 기능 추가 (4)

위치 서비스 활성화

작성

·

218

0

안녕하세요. 강의 유익하게 잘 듣고 있습니다.

메인 액티비치 - 권한 기능 추가(4)
강의에서 registerForActivityResult 의 콜백의
resultCode

위치정보를 활성화 하고 뒤로가기 버튼
활성화 하지않고 뒤로가기 버튼 두가지 경우 전부

좌측 상단의 뒤로가기 버튼을 누르면(강의와 동일하게 동작했습니다)
resultCode가 0(RESULT_CANCELED)으로 들어오게 되는데요.

뒤로가기 버튼을 눌러도 RESULT_OK로 들어오는게 맞는지
문의드립니다.

답변 1

1

Code With Joyce님의 프로필 이미지
Code With Joyce
지식공유자

안녕하세요!

제가 코드를 검토해보았는데요, 코드에 문제가 있었던 것 같습니다.

설정 앱에서 '뒤로 가기'를 누르면 resultCode가 0 (RESULT_CANCELLED)가 나오는 것이 맞습니다.

 

아래와 같이 if(result.resultCode == Activity.RESULT_OK){} 구문을 지워, result가 들어오면 바로 다시 권한을 확인하도록 하면 됩니다.

private fun showDialogForLocationServiceSetting() {
    getGPSPermissionLauncher = registerForActivityResult(
    ActivityResultContracts.StartActivityForResult()
    ){ result ->
        Log.d("LOG : :: : : : :  ",result.resultCode.toString())
       // RESULT 코드 확인하는 부분을 삭제해주세요.
            if(isLocationServicesAvailable()){
                isRunTimePermissionsGranted()
            }else{
                Toast.makeText(this@MainActivity, "위치 서비스를 사용할 수 없습니다.", Toast.LENGTH_LONG).show()
                finish()
            }
        
    }
}

 

아주 세세하게 공부해주셔서, 제가 실수한 부분까지 잘 찾아주신 것 같습니다.

code.with.joyce@gmail.com 로 위치 서비스 활성화 오류 찾아낸 분이라고 연락주시면, 감사의 마음을 전달하도록 하겠습니다! :)

 

또 공부하시다가 궁금하신 부분있으시면 질문 남겨주세요~ :)

APP개발/마켓등록 R&D님의 프로필 이미지
APP개발/마켓등록 R&D

작성한 질문수

질문하기