URL을 통해 사용되는 경우 setDataAndType 메서드가 PDF 유형을 올바르게 인식하지 못하는 것 같습니다. 당신은 결국 호출 될 겁니다 있도록
private static Intent newPDFLinkIntent(String url) {
Uri pdfURL = Uri.parse(url);
Intent pdfDownloadIntent = new Intent(Intent.ACTION_VIEW, pdfURL);
pdfDownloadIntent.setType("application/pdf");
pdfDownloadIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
return pdfDownloadIntent ;
}
불행히도, 온라인 콘텐츠를 다운로드 및 캐싱을 예상하지 않는 사용하고있어 PDF 응용 프로그램 (일부, 일부는 링크 다운로드를 거부합니다 메모리 누수 오류가있을 것이다) 알림 링크를 통해 다운로드 한 콘텐츠를 열기 전에 먼저 PDF를 다운로드하는 인 텐트 결국 아래의 솔루션을 사용했습니다 :
private static Intent newPDFLinkIntent(String url) {
Intent pdfDownloadIntent = null;
try {
pdfDownloadIntent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
pdfDownloadIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
} catch (URISyntaxException e) {
Log.e("PDF Link Tag", e.getMessage());
}
return pdfDownloadIntent;
}
Adobe Reader가 필요한 이유가 무엇입니까? Android의 의도 시스템의 요점은 사용자가 선택한 (그리고 사용 가능한) PDF 용으로 앱을 사용하는 것입니다. – EboMike
@EboMike - 어도비 리더가 겉 모습과 느낌면에서 본 안드로이드 PDF 뷰어 중에서 최고입니다. 그리고 현재 버전에있는 또 다른 중요한 이유는 복사/붙여 넣기/인쇄 기능을 허용하지 않기 때문에 사용자가 문서의 내용을 복사하기를 원하지 않습니다. 문서를 안전하게 보관할 수있는 다른 방법이 있습니까? 내가 말했듯이 나는 안드로이드에서 초보자이고 내가 말하는 것에 틀림이 있을지 모른다. – NavinC
상관 없어요. "최고의"독자가 자신의 필요에 부합한다고 생각하는 것을 결정하는 것은 사용자의 몫입니다. 게다가 사용자가 특정 리더를 설치하지 않은 경우 사용자의 접근 방식이 실패합니다. – EboMike