2011-02-25 6 views
0

PDF 파일을 안드로이드 응용 프로그램의 assets 폴더에 저장하여 운송하고 있습니다. AssetManager을 사용하여 파일 이름을 다시 읽을 수 있습니다. 화면에 표시해야하고 할 수 있습니다. 하지만 pdfviewer를 사용하여 열 필요가 있습니다.안드로이드 응용 프로그램의 assets 폴더에있는 pdf 파일

각 항목에 onclick()에 의도를 쓰려면 PDF 파일의 URI를 전달해야합니다. 그리고 AssetManager을 사용하여 파일의 URI를 가져올 수 없습니다. 이 모든 일을 처리 할 수있는 더 좋은 방법이 있습니까?

URI를 검색 할 수있는 경우에도 PDF 뷰어는 assets 폴더의 PDF 파일을 읽을 수 있습니까?

는 업데이트 :

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=android.resource://com.csg.android.myproject/assets/pdf/csgsample typ=application/pdf flg=0x4000000 } 

내가 사용하여 장치를 조회 : 아래의 제안을 바탕으로
, 나는 다음과 같은 코드

try { 

       Uri path = Uri.parse("android.resource://com.csg.android.myproject/raw/csgsample") ; 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setDataAndType(path, "application/pdf"); 
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

       try { 
        startActivity(intent); 
       } 
       catch (ActivityNotFoundException e){ 
        Toast.makeText(FirstTab.this, "NO Viewer", Toast.LENGTH_SHORT).show(); 
       } 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

그것은 다음과 같은 예외 메세지를 ActivityNotFoundException를 throw를 썼다 PackageManager 그리고 Adobe Reader가 설치되어 있습니다. 하지만 왜이 오류가 발생하는지 잘 모르겠습니다. 나는 또한 이것을 assets 폴더에 배치하고 대신 URI를 변경하고 프로그램을 실행했지만 여전히 동일한 오류가 발생합니다.

답변

0

res/raw 폴더에 배치 한 다음이를 가리 키도록 resource URIs을 만들 수 있습니다. 그들은 android.resource://com.example.myapp/raw/my_resource의 형태입니다. PDF 리더와 같은 다른 앱을 열 수 있는지 확실하지 않습니다. 그것을 밖으로 시도하십시오!

+0

고맙습니다. 내가 URI를 사용하여 노력하고 그것은 ActivityNotFoundException 던지고있다. 내 원래 게시물을 편집하고 위의 코드 블록을 추가했습니다. 가능하면 그것을보고 도와주세요. 감사. – NavinC

+0

CATEGORY_DEFAULT를 추가하거나 플래그를 삭제 해보세요. 귀하의 의도가 옳았 기 때문에 Adobe가 귀하의 자료를 읽을 수 없게 될 수도 있습니다. –

관련 문제