developers.kakao.com/docs/latest/ko/kakaologin/android
현재 카카오 개발자 문서를 참고할 경우 Kotlin 기준으로 문서가 소개 되어있다.
하지만 아직 꼬린이인 JAVA로 개발하고 있는 안드로이드 개발자에겐 함께 사용하거나 접목이 어려울 경우가 있다.
1. 카카오모듈 세팅하기
- build.gradle(Module:.app)
implementation "com.kakao.sdk:v2-user:2.4.2"
- build.gradle(Project)
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }
2. Redirect URI 설정하기 (AndroidManifest 선언)
<activity android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="oauth"
android:scheme="kakao_native_app_key" />
</intent-filter>
</activity>
3. 카카오로그인 사용하기
btKakaoLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (UserApiClient.getInstance().isKakaoTalkLoginAvailable(act)) {
UserApiClient.getInstance().loginWithKakaoTalk(act, kakaoCallback);
} else {
UserApiClient.getInstance().loginWithKakaoAccount(act, kakaoCallback);
}
}
});
* 위는 카카오톡이 깔려있을 경우 아래는 카카오톡이 설치가 안되었을경우를 의미합니다.
* 여기서 act 는 현재 Activity 즉 Context를 의미합니다. this 또는 context 를 사용해주시면됩니다.
4. 카카오 로그인 콜백 선언하기
Function2<OAuthToken, Throwable, Unit> kakaoCallback = new Function2<OAuthToken, Throwable, Unit>() {
@Override
public Unit invoke(OAuthToken oAuthToken, Throwable throwable) {
if (oAuthToken != null) {
}
if (throwable != null) {
Log.d(HoUtils.TAG, "Message : " + throwable.getLocalizedMessage());
}
getKaKaoProfile();
return null;
}
};
5. 카카오 정보가져오기
private void getKaKaoProfile() {
UserApiClient.getInstance().me(new Function2<User, Throwable, Unit>() {
@Override
public Unit invoke(User user, Throwable throwable) {
if (user != null) {
Log.d(HoUtils.TAG, "Kakao id =" + user.getId());
//계정정보를 불러 왔을 경우
} else {
//계정정보가 없을경우
}
if (throwable != null) {
Log.d(HoUtils.TAG, "invoke: " + throwable.getLocalizedMessage());
}
return null;
}
});
}
※파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음※
'IT개발일지 > Android' 카테고리의 다른 글
[Android]Android 11 다른 앱 열기 (0) | 2021.09.23 |
---|---|
[Android]View 투명도 설정하기 (Xml Alpha 값 주기) (0) | 2021.07.14 |
[Android] WebView 버튼 클릭 이벤트 javascript 연동 (0) | 2021.03.26 |
[Android] AP-All SDK 적용하기 (0) | 2020.11.03 |
[Android] 지오코딩 주소->좌표 [2020버전] (0) | 2020.09.17 |