마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Intent.createChooser 질문 있습니다.

0 추천

        

      ~~~~파일 제작~~~~

       String mimeType = URLConnection.guessContentTypeFromName(Path);

        if(mimeType == null)
        {
            mimeType = "*/*";
        }
        Log.d("UnityTest",mimeType);

        File F = new File(Path);

        if (F.isDirectory())
            return;

        MediaScannerConnection.scanFile( this, new String[]{ F.getPath() }, new String[] { mimeType }, new OnScanCompletedListener() {
            @Override
            public void onScanCompleted(String path, Uri uri) {

                // TODO

                Uri u;
                u = Uri.parse(path);

                String Mime = URLConnection.guessContentTypeFromName(path);
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(u, Mime.split("/")[0]+"/*");
                mContext.startActivity(Intent.createChooser(intent,"연결프로그램"));
            }

        })

 

파일 제작 후 파일을 불러오는 코드 입니다. pdf 파일로 태스트 중이고 일단 파일 제작은 성공적으로 되는 것을 확인 했습니다. 그리고 Intent.createChooser 로 목록이 제대로 뜨는 것도 확인 했습니다. 그런데 실제로 목록중 하나를 선택하면

이렇게 뜸니다. 참고로 스샷은 마이크로 소프트 워드 입니다. 

물론 받아온 파일 경로에는 제대로 된 파일이 존재 합니다.

도대체 왜 이러는 거고 어떻게 해결해야 합니까?

 

 

익명사용자 님이 2019년 3월 15일 질문

2개의 답변

0 추천

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);

이부분을 한번 추가해보세요.

익명사용자 님이 2019년 3월 15일 답변
똑같네요...대채 왜 이러는 걸까요. ㅠㅠ
0 추천
ㅜㅜ혹시 해결 하셨나요 저도 같은 문제로 환장하겠네요
익명사용자 님이 2019년 5월 23일 답변
...