카카오 로그인 오류

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


앱 아이디 1095167


kakao_flutter_sdk_user: ^1.9.2

카카오 로그인 구현 중입니다. ios 작동에는 문제가 없고, 안드로이드도 카톡이 깔려 있는 경우 문제가 없습니다.

안드로이드에서 카톡이 깔려있지 않은 경우 웹뷰로 로그인할때 정상적으로 토큰을 가져오지 못하고 있습니다.
테스트는 안드13 에뮬레이터와 실기기 안드 14에서 하였고 두 버전 모두 카카오 계정으로 로그인할때 실패했습니다.
No uri was passed to CustomTabsActivity. 로그가 찍힙니다…

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.NFC"/>
    <uses-feature android:name="android.hardware.nfc" android:required="false" />
    <uses-feature android:name="android.hardware.nfc.hce" android:required="false" />
    <application
        android:label="carev"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:taskAffinity=""
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity 
            android:name="com.kakao.sdk.flutter.AuthCodeCustomTabsActivity"
            android:exported="true">
            <intent-filter android:label="flutter_web_auth">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <!-- "kakao${YOUR_NATIVE_APP_KEY}://oauth" 형식의 앱 실행 스킴 설정 -->
                <!-- 카카오 로그인 Redirect URI -->
                <data android:scheme="kakao53c69d1abcb3b66626d4c48283fcdd17" android:host="oauth"/>
            </intent-filter>
        </activity>                 
        <service 
            android:name=".HceService"
            android:exported="true"
            android:permission="android.permission.BIND_NFC_SERVICE">
            <intent-filter>
                <action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE" />
            </intent-filter>
            <meta-data
                android:name="android.nfc.cardemulation.host_apdu_service"
                android:resource="@xml/apduservice" />
        </service>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
    <!-- Required to query activities that can process text, see:
         https://developer.android.com/training/package-visibility and
         https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.

         In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
    <queries>
        <intent>
            <action android:name="android.intent.action.PROCESS_TEXT"/>
            <data android:mimeType="text/plain"/>
        </intent>
    </queries>
</manifest>

안녕하세요

일반적으로 안드로이드 시스템에서 Activity는 해당 패키지 이름과 동일한 taskAffinity가 부여되고, 같은 값으로 설정된 Activity들은 동일한 Task 내에서 생성됩니다. (launchMode 등을 통해 다른 Task로 할당하는 경우 제외)

그런데 공유주신 AndroidManifest.xml 파일을 확인해보면 MainActivity의 taskAffinity가 “” 로 설정되어있어서 정상적으로 동작하지 못하고 있는 것으로 보입니다. taskAffinity 설정을 하신 특별한 이유가 없으면 해당 설정 제거 부탁드리겠습니다.