2011-11-11 4 views
2

내 응용 프로그램에서 자산 자원에서 파일을 받고 그것에서 PDF 파일을 엽니 다. 이 코드를 사용하고 있습니다 :android에서 애셋의 PDF 파일을 가져 오는 방법은 무엇입니까?

Uri path = Uri.parse("file:///android_asset/WindsorONE_Mobile_PK.pdf"); 

      Intent intentPDF = new Intent(Intent.ACTION_VIEW);      
      intentPDF.setDataAndType(path, "application/pdf");      
      intentPDF.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);      
      try {       
       startActivity(intentPDF);      
      }      
      catch (ActivityNotFoundException e) {       
       Toast.makeText(ListSample.this,        
        "No Application Available to View PDF",        
        Toast.LENGTH_SHORT).show();      

      } 

하지만 그 코드를 실행하는 동안. 대화 상자에 "파일 경로가 유효하지 않습니다"라는 오류가 있습니다. 어디서 잘못 되었나요?
도와주세요.

감사합니다.

답변

4

문제는 응용 프로그램에서 타사 응용 프로그램으로 리소스 경로를 전달하는 것이지만 경로는 개인 리소스 용이므로 응용 프로그램 내에서만 유효합니다.

유일한 해결책은 자산에서 외부 저장소로 PDF 파일을 복사 한 다음 외부 저장소에있는 파일의 경로를 타사 응용 프로그램에 제공하는 것입니다. 그렇다면 그것은 작동합니다.

+0

ok Letn 시도해보십시오. –

+0

+1 나와 내 응용 프로그램에서 다른 응용 프로그램이 파일을 열지 못하게하십시오. – Dharmendra

+0

음, 그 파일을 sdcard에 복사 한 다음 사용하여 정상적으로 작동합니다. 감사. –

1

애셋의 항목에 액세스하려면 자산 관리자를 사용해야합니다. Link is here

+0

답장을 보내 주셔서 감사합니다.하지만 내 코드에서 우리 경로를 어떻게 변경해야합니까? –

+0

P1. 이 해결책을 확인하십시오. http://stackoverflow.com/questions/4820816/how-to-get-uri-from-an-asset-file – Vinay

관련 문제