안드로이드 웹뷰로 카카로 로그인 시 카카오톡으로 안넘어가고 앱내에 로그인 창이 뜹니다

핸드폰에 카카오톡 설치되어 있습니다.

하이브리드 앱 가이드와 동일하게 개발했는데… 카카오톡으로 넘어가질 않고 있습니다.
https://developers.kakao.com/docs/latest/ko/javascript/hybrid#android-execute-kakaotalk

로그를 찍어 봤을 때
Could not parse anythings 로 나오고 있습니다.
카카오 URL은 카카오계정… 이렇게 넘어오고 있습니다.

request.url.scheme 도 https로 나와서 intent를 못타는거 같은데
해결 방법이 있을까요?

IOS은 가이드 방식으로 개발하니 잘넘어가서 로그인 처리가 되고 있습니다.

안녕하세요.

테스트 하신 기기에 카카오톡이 설치되어 있으신가요?

네 설치되어 있습니다.

Log.e(TAG, “Could not parse anythings”) 로깅 시, intnet 값도 같이 확인 부탁드립니다.

또한, 가이드 처럼 if (request.url.scheme == "intent") { ... 코드로 intent 필터링 하고 계신게 맞으신지도 확인 부탁드립니다.

죄송합니다
로그 다시 확인해보니
Could not parse anythings 가 나오는게 아니라
맨 하단에 Log.d(“TAG”, “return false”) 로 나오고 있습니다.

즉, if (request.url.scheme == “intent”) { 이 조건문으로 들어가질 않고 있습니다.

request.url.scheme 는 https 입니다.
request.url.scheme.toString() 은 아래와 같습니다.
https://kauth.kakao.com/oauth/authorize?client_id=569b93ad7b5648fa7224571759e728e9&redirect_uri=kakaojs&response_type=code&state=lmarvvjcpqbsjjpe9jvx3j&proxy=easyXDM_Kakao_kq97kn8w08_provider&ka=sdk%2F1.43.1%20os%2Fjavascript%20sdk_type%2Fjavascript%20lang%2Fko-KR%20device%2FLinux_armv81%20origin%2Fhttps%253A%252F%252Flottofly.co.kr&origin=https%3A%2F%2Flottofly.co.kr

if (request.url.scheme == “intent”) { 조건 처리를 하지 않기에 Intent.parseUri() 에서 발생하는 오류 입니다.
해당 조건절은 필이 있어야 합니다.

카카오톡으로 로그인 가능한 경우, https://kauth...가 아닌 intent:// 로 시작하는 주소가 전달됩니다.

카카오 로그인 버튼이 있는 웹페이지 소스코드를 제공 부탁드립니다.

말씀하신 intent 조건절은 추가 되어 있습니다.

if (request.url.scheme == "intent") {
                    try {
                        //Log.d("TAG scheme", intent.getPackage().toString())
                        var intent = Intent.parseUri(request.url.toString(), Intent.URI_INTENT_SCHEME)

                        // 실행 가능한 앱이 있으면 앱 실행
                        if (intent.resolveActivity(packageManager) != null) {
                            startActivity(intent)
                            //Log.d("TAG", "ACTIVITY: ${intent.`package`}")
                            return true
                        }

                        // Fallback URL이 있으면 현재 웹뷰에 로딩
                        var fallbackUrl = intent.getStringExtra("browser_fallback_url")
                        if (fallbackUrl != null) {
                            view.loadUrl(fallbackUrl)
                            //Log.d("TAG FALLBACK", "FALLBACK: $fallbackUrl")
                            return true
                        }
                        //Log.d("TAG url", request.url.toString())
                        Log.e("TAG", "Could not parse anythings")
                    }catch (e: URISyntaxException) {
                        Log.e("TAG", "Invalid intent request", e)
                    }
                }

                Log.d("TAG", "return false")
                return false
            }

카카오 로그인 웹 소스입니다.

// kakao login start
	Kakao.init('카카오 키');
	// login button
	function loginWithKakao() {
	  // 로그인 창을 띄웁니다.
	  Kakao.Auth.login({
		success: function(authObj) {
			//alert(JSON.stringify(authObj));
			$("input[name=access_token]",document.snsloginFrm).val(authObj.access_token);
			$("input[name=refresh_token]",document.snsloginFrm).val(authObj.refresh_token);
			// 로그인 성공시, API를 호출합니다.
			Kakao.API.request({
				url: '/v2/user/me',
				success: function(res) {
					//alert(JSON.stringify(res));
					kakaotokInputData(res);
				},
				fail: function(error) {
					//alert(JSON.stringify(error));
					alert("로그인에 실패하였습니다.");
				}
			});
		},
		fail: function(err) {
		  //alert(JSON.stringify(err));
			alert("로그인에 실패하였습니다.");
		}
	  });
	};

웹 소스의 loginWithKakao() 는 어떻게 호출되고 있나요?
사용자의 버튼 이벤트에서 호출되고 있는게 맞을까요?

카카오톡을 사용하는 간편로그인 기능은 Kakao.Auth.authorize() 를 사용 부탁드립니다.

네 확인 감사합니다.