안녕하세요, 카카오 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 로 진행되어 권장하지 않는 방식인 것은 알지만, 혹시 도움을 구할 수 있을까 해서 문의드리게 되었습니다.
다음과 같이 현 액티비티에 kakaolink data 를 manifest 에 추가해 놓은 상태입니다.
항상 도움주셔서 감사합니다.