안녕하세요?


지지난번 포스팅에서 ACTION_DIAL을 가지고서, 버튼을 누르면 전화번호를 입력하는 화면으로 가는 것으로 안드로이드 스튜디오 내에서 코딩을 했습니다만, 제목에서 보듯이 이래저래 뭐가 잘 안되고 있는 중입니다.



먼저 표시가 된 곳처럼 CALL_PHONE를 입력해서 어떻게 권한 획득을 얻었지만, 이것만 가지고서는 아무것도 진행이 되지를 않고, 오히려 에러가 발생하였다고 앱이 강제로 종료되었습니다.



우선 광역변수로 private Activity mainActivity = this; 로 선언을 해 줍니다. 여기의 의미는 지금 보여지는 액티비티를 의미하고 있는 것이라는 생각을 하는 중입니다. 



다음은 이 박스안에 있는 부분을 타이핑해서 먼저 권한이 획득되어 있는지 여부를 체크해 보고, 권한이 없다면 권한을 요청하라는 if구문입니다. 만약 권한이 획득되어 있다면, 그대로 "권한이 획득되었습니다."라고 메세지가 뜨도록 코딩을 하였습니다.



다음의 구문은 권한을 획득한 다음 결과를 받아와서 어떻게 하라는 것을 이야기하는 구문입니다. 만약 권한을 획득하는 데 성공하였다면, 원래대로라면 바로 실행이 되도록 코딩을 해야 겠지만, 그렇게 제 실력이 모자라서 못하고 그대로 [다시한번 버튼을 눌러 주세요]라는 메세지만 뜨도록 하였습니다.


하지만 이러한 시도에도 불구하고 계속 앱에서는 에러가 뜨면서 전혀 의도한 대로 작동이 되지 않고 있습니다. 결국 하는 수 없이 이번에는 권한을 획득하는 구문을 모두 주석처럼 처리하는 // 를 붙여서 적용되지 않도록 해 보았습니다.



하지만 이렇게 하였지만, 전혀 실행이 되지 않았습니다. 이래저래 어디가 문제라서 실행은 되지 않고, 계속 앱이 에러가 떴다고 실행이 되지 않는 와중에 이번에는 ACTION_DIAL은 따로 권한을 얻는다는 다른 블로그의 포스팅을 보고서 한번 다음과 같이 AndroidManifest.xml을 변경해 보았습니다.



원래는 CALL_PHONE로 되어 있는 부분을 DIAL_PHONE라고 수정해 보았습니다만, 아무런 반응도 없었습니다. 그래서 다시 CALL_PHONE로 변경을 하였더니, 이번에는 에러가 뜬다고 앱이 종료되는 것이 아니라 앱에서 아무런 반응도 하지 않는 채로 있는 것이어었습니다.


어느부분에서 오류가 발생해서 이러는 지는 모르겠습니다만, 아무튼 간에 이를 수정하려면 간단하게 되지는 않을 듯 합니다.

  1. 정태영 2017.05.05 00:21 신고

    주석처리할때
    //하는것보단
    시작/* 끝*/로해주시는게 좋을거같네요

+ Recent posts

티스토리 툴바