프로그래밍/android
안드로이드 공유하기 활용(ACTION_SEND)
ylblog
2017. 2. 8. 18:41
앱을 개발하면서 친구나 지인에게 앱 초대나 메시지 등 공유하는 메시지를 보낼 수 있는 환경이 필요하여
공유하기 소스를 이용하여 간단하게 만들어 보았습니다.
1. 안드로이드에서 제공하는 기본 공유하기 소스 활용
만들어진 공유하기 UI를 보면 스마트폰에 있는 공유 할 수 있는 플랫폼이 갖춰진 앱 이라면 모두 띄워지게 됩니다.
스크린 샷 제공

Intent intent = new Intent(android.content.Intent.ACTION_SEND); intent.setType("text/plain");
// Set default text message // 카톡, 이메일, MMS 다 이걸로 설정 가능 //String subject = "문자의 제목"; String text = "원하는 텍스트를 입력하세요"; //intent.putExtra(Intent.EXTRA_SUBJECT, subject); intent.putExtra(Intent.EXTRA_TEXT, text);
// Title of intent Intent chooser = Intent.createChooser(intent, "친구에게 공유하기"); startActivity(chooser); |
위와 같은 기본 소스로도 카카오톡, 페이스북 등으로 연동하여 공유가 가능하지만
카카오톡은 '앱 설치로 이동' 이라는 URL로 바로 이동이 가능한 것은 기본 소스로 만들지 못하며
페이스북은 페이스북 메신저로 보내는 것 외에 게시물로 사진과 함께 등록하는 것이 불가능 하여
각각 따로 만들어 보았습니다.
2. 카카오톡 공유하기(카카오 링크)
카카오톡에서 제공하는 '카카오 링크'를 이용하시면 손쉽게 구현하실 수 있습니다.
카카오톡에서 보기 쉽게 카카오 개발자 등록 및 SDK 설치 과정, xml, manifest소스 수정 등을 제공하기에 공유하기 소스만 제공하겠습니다.
KakaoLink kakaoLink = KakaoLink.getKakaoLink(sharedialog.this); KakaoTalkLinkMessageBuilder kakaoTalkLinkMessageBuilder = kakaoLink.createKakaoTalkLinkMessageBuilder();
kakaoTalkLinkMessageBuilder.addImage("https://t1.daumcdn.net/cfile/tistory/2374F449586075FD07", 81, 143); //이미지를 스마트폰,PC 사용하는 이미지 넣기 kakaoTalkLinkMessageBuilder.addText("원하는 텍스트를 입력하세요"); kakaoTalkLinkMessageBuilder.addAppButton("앱 설치로 이동", new AppActionBuilder() .addActionInfo(AppActionInfoBuilder.createAndroidActionInfoBuilder().setExecuteParam("execparamkey2=2222").setMarketParam("referrer=kakaotalklink").build()) .addActionInfo(AppActionInfoBuilder.createiOSActionInfoBuilder(AppActionBuilder.DEVICE_TYPE.PHONE).setExecuteParam("execparamkey2=2222").build()) .setUrl("이동할 url을 입력하세요").build());
kakaoTalkLinkMessageBuilder.setForwardable(true); kakaoLink.sendMessage(kakaoTalkLinkMessageBuilder, sharedialog.this);
} catch(KakaoParameterException e) { Log.i("Kakao Exception:", e.getMessage().toString());
}
|
3. 페이스북 게시물에 공유하기
페이스북 개발자 등록 및 sdk 설치 , 기본 환경설정은 페이스북 홈페이지에서 보기 쉽게 제공하기에 생략하겠습니다.
ShareLinkContent content = new ShareLinkContent.Builder() .setContentUrl(Uri.parse("이동할 url 입력하세요")) .setContentTitle("타이틀 명 입력") .setImageUrl(Uri.parse("https://t1.daumcdn.net/cfile/tistory/2374F449586075FD07")) .setContentDescription("원하는 텍스트를 입력하세요") .build(); ShareDialog shareDialog = new ShareDialog(sharedialog.this); shareDialog.show(content, ShareDialog.Mode.AUTOMATIC);
|