taejaehan / Cordova-Kakaotalk-Plugin

Cordova-Kakaotalk-Plugin Login / Share (IOS, Android)
MIT License
24 stars 33 forks source link

카카오톡 미설치시 에러. #4

Open daecheolkim opened 7 years ago

daecheolkim commented 7 years ago

안녕하세요 현재 cordova 로 개발중인 초보개발자입니다. 카카오톡 설치시에는 로그인이 문제 없이 진행 됩니다만, 카카오톡 미설치시에는 에러가 납니다.

로그를 공유해드리면, E/kakao.sdk: WebViewAuthHandler is failed java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.(Handler.java:200) at android.os.Handler.(Handler.java:114) at android.app.Dialog.(Dialog.java:120) at android.app.Dialog.(Dialog.java:169) at com.kakao.auth.authorization.authcode.KakaoWebViewDialog.(KakaoWebViewDialog.java:105) at com.kakao.auth.authorization.authcode.GetterAuthCode.requestWebviewAuth(GetterAuthCode.java:197) at com.kakao.auth.authorization.authcode.GetterAuthCode.request(GetterAuthCode.java:165) at com.kakao.auth.authorization.authcode.GetterAuthCode.start(GetterAuthCode.java:96) at com.kakao.auth.Session.requestAuthCode(Session.java:541) at com.kakao.auth.Session.internalOpen(Session.java:513) at com.kakao.auth.Session.open(Session.java:143) at com.htj.plugin.kakao.KakaoTalk$2.run(KakaoTalk.java:201) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

입니다. 검색을 해보니 핸들러를 백그라운드 쓰레드에서 생성하고자 하는 경우 이런 현상이 생긴다고 하는것 같습니다.
https://devtalk.kakao.com/t/topic/18560/4 http://darksilber.tistory.com/entry/%EC%97%90%EB%9F%ACjavalangRuntimeException-Cant-create-handler-inside-thread-that-has-not-called-Looperprepare

등의 해결방법 링크등은 찾은것 같은데 어떻게 수정을 해야할지를 도무지 모르겠습니다. 또는 공유해주신 플러그인으로 카카오의 설치 여부등을 알수 있는 기능이 있을까요?

taejaehan commented 7 years ago

안녕하세요. 자세히 볼 시간은 없지만 이 플러그인 그런 기능은 따로 없던 거 같고, 특정 에러시 exception으로 카카오 설치페이지나 카카오 앱링크로 연결하면 되지 않을까 싶습니다

daecheolkim commented 7 years ago

바쁘신 도중에 답변 주셔서 감사합니다. 알려주신 방법으로 한번 알아봐야겠군요. 감사합니다!!