안드로이드 카카오 메시지>카카오톡 공유 활용

안녕하세요, 카카오 SDK 2.4.2 사용중입니다.

링크를 담은 Default Template 을 형성하여 카카오톡 메시지 공유 기능을 활성화시키려고 하는데
다음과 같은 자바 코드로 구성을 하였습니다.

 private void openAndSendKakaoTemplate(String link) {

    Toast.makeText(getApplicationContext(), link, Toast.LENGTH_SHORT).show();

    String title = "제목"
    String description = "내용";
    Link sendTo = new Link(link, link);

    com.kakao.sdk.template.model.Button templateBtn = new com.kakao.sdk.template.model.Button("초대 수락하기", sendTo);
    List<com.kakao.sdk.template.model.Button> listBtn = new ArrayList<>();
    listBtn.add(templateBtn);

    DefaultTemplate indvTemplate = new FeedTemplate(new Content(title, "", sendTo, description), null, listBtn);


    if (UserApiClient.getInstance().isKakaoTalkLoginAvailable(getApplicationContext())) {
        LinkClient.getInstance().defaultTemplate(InviteGroupMembersActivity.this, indvTemplate, new Function2<LinkResult, Throwable, Unit>() {
            @Override
            public Unit invoke(LinkResult linkResult, Throwable throwable) {
                if (throwable != null) {
                    throwable.printStackTrace();
                } else if (linkResult != null) {
                    ////// 카카오톡 열린 후 공유과 완료되면 진행되는 곳
                    Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show();
                }

                return null;
            }
        });

    } else {
        Toast.makeText(getApplicationContext(), "카카오톡을 실행할 수 없습니다", Toast.LENGTH_SHORT).show();
    }
}

이와 같이 진행하였을 경우 카카오톡이 열리지 않고 바로 "done"이라는 토스트가 뜨고 실행을 마치게 됩니다.
즉 openAndSendKakaoTemplate() 함수를 실행할 경우 바로 done 이라는 토스트만 뜨고 아무 반응이 없습니다. 카카오톡이 열리고, 생성한 defaultTemplate을 공유할 톡방/친구를 선택하는 창이 나와야 하는 것으로 이해하고 있습니다.

Java 로 진행되어 권장하지 않는 방식인 것은 알지만, 혹시 도움을 구할 수 있을까 해서 문의드리게 되었습니다.

스크린샷 2022-10-12 오후 9.25.40

다음과 같이 현 액티비티에 kakaolink data 를 manifest 에 추가해 놓은 상태입니다.

항상 도움주셔서 감사합니다.

안녕하세요.

아래 구현이 빠져있는것 같습니다 확인 부탁드릴게요~

...
} else if (linkResult != null) {
    getApplicationContext().startActivity(linkResult.getIntent());
    ////// 카카오톡 열린 후 공유과 완료되면 진행되는 곳
    Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show();
}
...
1개의 좋아요

해결되었습니다. 항상 도움 주셔서 감사합니다 :heart_eyes: