티스토리 뷰
[예제 1]
// KakaoLink API 초기화
KakaoLink kakaoLink = KakaoLink.getKakaoLink(getApplicationContext());
KakaoTalkLinkMessageBuilder messageBuilder = kakaoLink.createKakaoTalkLinkMessageBuilder();
// 메시지 생성
messageBuilder.addText("안녕하세요. 카카오톡 메시지 전송 예제입니다.");
messageBuilder.addImage("http://example.com/image.jpg", 300, 200);
// 카카오톡 메시지 전송
Intent intent = messageBuilder.getIntent();
startActivity(intent);
[예제2]
- 카카오톡 API 등록 및 설정
- 카카오 개발자 센터에서 애플리케이션 등록 후 REST API 키를 발급 받습니다.
- 카카오톡 API를 사용하기 위해서는, 먼저 애플리케이션의 AndroidManifest.xml 파일에 KakaoTalkLinkScheme 스키마를 추가해야 합니다. 아래와 같이 <intent-filter> 태그를 추가합니다.
<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:scheme="kakaolink" />
</intent-filter>
2. 카카오톡 API를 사용한 메시지 전송
- 메시지를 전송하기 위해, KakaoLink 클래스를 사용합니다.
- KakaoTalkLinkMessageBuilder 클래스를 사용하여 메시지를 작성합니다.
- KakaoTalkLinkService 클래스의 getInstance() 메소드를 사용하여 KakaoLinkService 인스턴스를 가져옵니다.
- KakaoLinkService 인스턴스의 sendDefault() 메소드를 호출하여 메시지를 전송합니다.
아래는 사진과 텍스트를 카카오톡으로 전송하는 예제 코드입니다.
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import com.kakao.kakaolink.KakaoLink;
import com.kakao.kakaolink.KakaoTalkLinkMessageBuilder;
import com.kakao.kakaolink.KakaoTalkLinkService;
import java.io.ByteArrayOutputStream;
public class KakaoTalkSender {
public static void send(Context context, String message, Bitmap imageBitmap) {
try {
// 카카오톡 API 초기화
KakaoLink kakaoLink = KakaoLink.getKakaoLink(context);
KakaoTalkLinkMessageBuilder builder = kakaoLink.createKakaoTalkLinkMessageBuilder();
// 메시지 추가
builder.addText(message);
// 이미지 추가
ByteArrayOutputStream stream = new ByteArrayOutputStream();
imageBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
builder.addImage(byteArray, 300, 200);
// 카카오톡 링크 실행
kakaoLink.sendMessage(builder, context);
} catch (Exception e) {
// 카카오톡이 설치되어 있지 않은 경우, 마켓으로 이동
Uri uri = Uri.parse("market://details?id=com.kakao.talk");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
}
}
}
[예제3]
카카오톡 특정 대화방에 메시지를 전송하려면, KakaoTalkLinkMessageBuilder 클래스의 addAppButton() 메소드를 사용하여 대화방을 선택할 수 있는 버튼을 추가해야 합니다. 버튼을 클릭하면 카카오톡 대화방 선택 화면이 나타납니다. 사용자가 대화방을 선택하면 해당 대화방으로 메시지가 전송됩니다.
아래는 사진과 텍스트를 카카오톡의 특정 대화방에 전송하는 안드로이드 앱의 예제 코드입니다.
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.kakao.kakaolink.KakaoLink;
import com.kakao.kakaolink.KakaoTalkLinkMessageBuilder;
import com.kakao.kakaolink.KakaoTalkLinkService;
import java.io.ByteArrayOutputStream;
public class MainActivity extends AppCompatActivity {
// 카카오톡 링크 요청 코드
private static final int REQUEST_CODE_KAKAO_TALK = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 카카오톡으로 전송할 메시지 작성
String message = "안녕하세요. 카카오톡으로 메시지를 전송합니다.";
// 전송할 이미지
Bitmap imageBitmap = ...
// 카카오톡 API 초기화
KakaoLink kakaoLink = KakaoLink.getKakaoLink(this);
KakaoTalkLinkMessageBuilder builder = kakaoLink.createKakaoTalkLinkMessageBuilder();
// 메시지 추가
builder.addText(message);
// 이미지 추가
ByteArrayOutputStream stream = new ByteArrayOutputStream();
imageBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
builder.addImage(byteArray, 300, 200);
// 대화방 선택 버튼 추가
builder.addAppButton("카카오톡으로 전송", new Intent(Intent.ACTION_VIEW, Uri.parse("kakaotalk://pickchat")));
// 카카오톡 링크 실행
kakaoLink.sendMessage(builder, this);
// 카카오톡 대화방 선택 화면이 나타납니다.
// 사용자가 대화방을 선택하면 해당 대화방으로 메시지가 전송됩니다.
}
}
위의 코드에서 builder.addAppButton() 메소드를 사용하여 대화방 선택 버튼을 추가하고, Intent.ACTION_VIEW 액션과 kakaotalk://pickchat URI를 사용하여 카카오톡 대화방 선택 화면을 실행합니다.
메시지를 전송하는 경우 kakaoLink.sendMessage(builder, this); 메소드를 사용하며, 이 경우 onActivityResult() 콜백을 통해 결과를 받을 필요가 없습니다. 대신, 카카
반응형
'SWDesk > App' 카테고리의 다른 글
[Android] WebView 예제 소스코드 (0) | 2024.01.05 |
---|---|
명함 이미지에서 명함 데이터를 추출하는 앱 (1) | 2023.03.18 |
[Kotlin] 블루투스 기기와의 연결 설정을 위한 소스 코드 (0) | 2023.02.26 |
웹뷰 내 사용자 클릭 결과를 처리하기 위한 자바 소스 코드 (0) | 2023.02.26 |
[Kotlin] 블루투스 페어링을 위한 소스 코드 (0) | 2023.02.23 |
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 혁신
- ServantClock
- 전류
- Innovation&Hurdles
- Decorator
- 전압전류모니터링
- 치매방지
- 배프
- arduino
- 치매
- 티스토리챌린지
- 오블완
- 심심풀이
- 전압
- 심심풀이치매방지기
- Hurdles
- 절연형
- 둎
- 빌리언트
- DYOV
- image
- BSC
- bilient
- Innovations&Hurdles
- Innovations
- Video
- 허들
- 혁신과허들
- badp
- 아두이노
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함