Rel
1k
2017-11-23 11:03:39 작성 2017-11-23 11:03:51 수정됨
2
1239

안드로이드에서 카카오톡 파일 전송 구현


안녕하세요, 기본 Intent 클래스를 사용해서 카톡으로 공유할 때, PDF파일은 공유하려고 하니 목록에 뜨지를 않는 것 같아서요.

지금 구현하려고 하는 게, 두 가지가 있는데요..

  1. PDF 파일을 카카오톡으로 공유
  2. 이미지파일+PDF 파일을 카카오톡으로 공유

아래와 같은 메소드를 만들어서 테스트해봤는데, 저 두 가지 경우에는 카카오톡이 리스트에 나오지를 않네요.
탐색기 앱 보면 pdf 파일도 다 카톡으로 공유되던데 ㅠ.ㅠ

public static Intent getShareIntent(Context ctx, ArrayList<File> fileList, boolean isOnlyImage) {
    ArrayList<Uri> files = new ArrayList<Uri>();
    for(int i=0;i<fileList.size();i++) {
        files.add(Uri.fromFile(fileList.get(i)));
    }
   
    final Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    shareIntent.putExtra("EXTRA_SUBJECT", "SUBJECT TEXT");
    shareIntent.putExtra(Intent.EXTRA_STREAM, files);
    if(isOnlyImage){
        shareIntent.setType("image/*");
    }else{
        shareIntent.setType("application/pdf");
    }
    return shareIntent;
}

아래는 테스트 결과입니다.

  1. shareIntent.seType("image/*");
    전송 OK, 여러 개의 이미지 파일도 전송 가능

  2. shareIntent.setType("application/pdf");
    카카오톡이 리스트에 나오지 않습니다.

  3. shareIntent.setType("file/*");
    카카오톡이 리스트에 나오지 않습니다.

  4. shareIntent.setType("/");
    '다중전송은 이미지 파일만 가능합니다.' 토스트 나옴. (이미지+PDF나 PDF만 보낼 때 둘 다 같음)

  5. shareIntent.setType("image/*|application/pdf");
    이미지+PDF 파일 전송 시도하였고,
    이미지는 전송 성공하였으나 PDF 파일은 '지원하지 않는 파일 형식입니다'라는 팝업이 뜨고 전송 안됨.

  6. shareIntent.setType("image/*|file/*");
    5와 동일




<질문 정리합니다>
1. 안드로이드 기본 공유 기능으로 카카오톡에 PDF파일을 공유할 수 있나요?
2. 안드로이드 기본 공유 기능으로 카카오톡에 파일 유형이 다른 파일들을 공유할 수 있나요?
(ex : 이미지파일 2개 + PDF 파일 4개)

긴 글 읽어주셔서 감사합니다



흠 -_- 방법 알고 계신 분 계신다면 댓글 부탁드립니다..


0
0
  • 답변 2

  • GAN
    1k
    2017-11-23 12:15:02

    목록에 안 나오는 문제는 카카오톡 intent filter 에서 걸러졌을 것 같습니다.

    카카오톡 intent filter 설정을 검색해보시거나

    해당 Intent 를 받는 테스트 앱을 별도로 구현하신 후에 전송 성공한 탐색기 앱에서 테스트 앱으로 Intent 전송 후 테스트 앱에서 Intent 로그 찍어서 탐색기 앱에서 어떤 방식으로 보냈는지 확인 해보세요.

    1
  • Rel
    1k
    2017-11-23 18:56:02

    GAN

    감사합니다. 테스트 앱 만들어 보니까.. 

    Intent 를 이용해서 카톡으로 여러 형식의 파일을 동시에 보내는 건 안되네요 :(


    아래는 테스트 결과입니다. 혹시라도 저랑 같은 문제 있으신 분 계시면 도움되시라구 :)


    이미지 단일이미지 다수PDF 단일PDF 다수이미지+PDF
    ACTIONSENDSEND_MULTIPLESENDSEND_MULTIPLESEND_MULTIPLE

    TYPE

    image/*image/*application/**/**/*
    EXTRAandroid.intent.extra.STREAM=파일경로android.intent.extra.STREAM=파일1 경로, 파일2 경로 ...
    android.intent.extra.STREAM=파일경로
    android.intent.extra.STREAM=파일1 경로, 파일2 경로 ...
    android.intent.extra.STREAM=파일1 경로, 파일2 경로 ...

    카카오톡 

    공유 가능

    여부

    공유 가능공유 가능공유 가능

    공유 불가

    (다중전송은 이미지만 가능합니다)

    공유 불가

    (다중전송은 이미지만 가능합니다)








    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.