Flutter webview로 카카오로그인 연동시 문제

<script src="https://t1.kakaocdn.net/kakao_js_sdk/2.4.0/kakao.min.js" 
        integrity="sha384-mXVrIX2T/Kszp6Z0aEWaA8Nm7J6/ZeWXbL8UpGRjKwWe56Srd/iyNmWMBhcItAjH" 
        crossorigin="anonymous"></script>

Kakao.init('발급받은 키');

$('#kakaoLogin').click(function() {
        Kakao.Auth.authorize({
            redirectUri: 'my_redirect_uri', 
        });
    });

리다이렉트 방식 이용해서 데이터 가공이나 처리는 서버 따로 구현해서 사용중이고
PC환경에서는 잘 동작하는걸 확인했는데, flutter webview로 감싸서 사용할시

try {
               final fallbackUrl = intentUri.queryParameters['browser_fallback_url'];
                if (fallbackUrl != null && fallbackUrl.isNotEmpty) {
                  _controller.loadRequest(Uri.parse(fallbackUrl));
                  return NavigationDecision.prevent;
                }

               launchUrl(Uri.parse(request.url)).catchError((error) {
                  print("Failed to launch the app: $error");
                  return Future.value(false);
                });
                return NavigationDecision.prevent;
              } catch (e) {
                print("Error handling intent url: $e");
                return NavigationDecision.prevent;
              }
            }

이렇게 시도중인데

PlatformException(ACTIVITY_NOT_FOUND, No Activity found to handle intent { intent:#Intent;action=com.kakao.talk.intent.action.CAPRI_LOGGED_IN_ACTIVITY;launchFlags=0x08880000;S.com.kakao.sdk.talk.appKey=이하 보안문제로 생략..

이런 문제가 발생해서요.
하이브리드앱 가이드 참조해서

manifest.xml에

<queries>
        <package android:name="com.kakao.talk" />
    </queries>

설정했는데 다른 처리방법이 더 필요한가요?

안녕하세요.

카카오톡 설치된 디바이스에서 테스트 하셨을까요?

네 설치되어있고, 로그인/비로그인 모두 테스트해봤습니다

launchUrl 기능으로 Intent URI를 직접 호출 하셨는데요
해당 패키지에서 intent 스킴은 지원하지 않는 것으로 알고 있습니다.
(해당 패키지 내부에서 Intent.parseUri 하지 않고, Uri.parse 하기 때문)

때문에, android에서 startActivity 호출 할 수 있는 android_intent와 같은 별도 패키지를 사용하시거나 Intent.parseUri 하여 액티비티를 직접 실행하는 코드를 직접 구현 하셔야 할것으로 보입니다.

cc @tony.mb

1개의 좋아요