반응형
텍스트 이미지 동영상
일반공유, 카카오톡 공유
텍스트 - 일반 공유 (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
반응형
'Android' 카테고리의 다른 글
[Android] File copy 방법 몇개 (0) | 2020.03.03 |
---|---|
[Android] BuildConfig 변수 생성/사용하기 (0) | 2020.03.02 |
[Android] Custom Dialog 만들기 (3) | 2020.02.15 |
[Android] TextView 에 UnderLine 표시하기. 밑줄 (0) | 2020.02.12 |
[Android] url 을 Intent 로 웹브라우저 띄우기 (0) | 2020.02.12 |
댓글