본문 바로가기
Android

[Android] 텍스트, 이미지, 동영상 일반 공유, 카카오톡 공유

by bryan.oh 2020. 2. 24.
반응형

텍스트 이미지 동영상
일반공유, 카카오톡 공유

 

텍스트 - 일반 공유 (message, email, etc..)

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/html");
sharingIntent.putExtra(Intent.EXTRA_TEXT, "What you want to share");
startActivity(Intent.createChooser(sharingIntent,"Share using text"));

여기서 텍스트를 html tag 로 꾸미려면

sharingIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml("<p>styled text will be shared.</p>"));

Html.fromHtml 을 사용하면 됩니다.

Api 24 이상 버전은 아래와 같이 사용해야 Deprecated 경고가 안나옵니다. 

Html.fromHtml("<p>styled text will be shared.</p>", Html.FROM_HTML_MODE_LEGACY)

 


 

텍스트 - 카카오톡 공유

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/plain");		// 고정 text
sharingIntent.putExtra(Intent.EXTRA_TEXT, "hello~ shareText here");
sharingIntent.setPackage("com.kakao.talk");	// 고정 text
startActivity(sharingIntent);

카카오톡 앱을 열고 텍스트를 공유합니다.

 


 

binary - (image, video) 일반 공유

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse(path);	// android image path

sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using")); // 변경가능

setType : 이미지 = image/확장자 또는 image/*
             동영상 = video/확장자 또는 video/*

일반 공유는 이런 화면입니다.

 


 

binary - (image, video) 카카오톡 공유

Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("video/*");	// 고정
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(path)); // path:비디오경로
sharingIntent.setPackage("com.kakao.talk");	// 고정.
startActivityForResult(sharingIntent, SOME_REQ_TAG);	// 결과를 받고싶을 때

some_req_tag 는 임의의 int 변수입니다. 공유가 끝나고 난 후 어떠한 액션이 필요할때 씁니다.
onActivityResult 에서 requestCode 로 비교하여 공유가 끝난것을 알게됩니다.

 

카톡공유는 다들 아시다시피 카카오톡 친구목록과 채팅목록이 보여집니다.

그 전에 "카카오톡"과 "카카오톡>나에게" 중에 하나를 선택하는게 보일때도 있습니다.

 

 

728x90
반응형

댓글