먼저 물어 보면 미안하지만 찾을 수는 없습니다. 원격 리소스에서 내 응용 프로그램의 문서를 다운로드합니다. 문서가 다운로드되면 사용자를 위해 문서를 열고 싶습니다. 내가 알고 싶은 것은 그들이 Pdf 나 Tiff를 처리하고 그것들을위한 기본 응용 프로그램에서 실행할 응용 프로그램이 있는지 어떻게 확인합니까?Android : 내 앱에서 기본 앱에 저장된 파일 열기
감사합니다.
편집 여기
는 솔루션의 일부입니다
Intent viewDoc = new Intent(Intent.ACTION_VIEW);
viewDoc.setDataAndType(
Uri.fromFile(getFileStreamPath("test.pdf")),
"application/pdf");
PackageManager pm = getPackageManager();
List<ResolveInfo> apps =
pm.queryIntentActivities(viewDoc, PackageManager.MATCH_DEFAULT_ONLY);
if (apps.size() > 0)
startActivity(viewDoc);
파일의 바이트 []가 있으면이 방법은 여전히 작동하지 않을까요? 디스크에 넣었습니까? –
@ Tom Fobear : 다른 응용 프로그램에서 읽을 수있는 위치에 디스크에 저장하는 것 외에는 선택할 수 없습니다. 즉, 외부 저장소에 저장하거나 앱 로컬 파일 저장소에 'MODE_WORLD_READABLE' 파일로 저장하거나 앱 로컬 파일 저장소에 일반 (거부) 파일로 저장하고 콘텐츠 공급자를 사용하는 것입니다 다른 앱에서도 사용할 수 있도록합니다. – CommonsWare
문제가 생겼을 때 내 장치에 PackageManager 메소드를 사용하여 내 의도를 지원했다고 주장하는 여러 앱이있었습니다. 파일이 올바르게 저장되고 있음을 알았습니다. 예를 들어 어도비 리더를 다운로드하고 나면 필자의 활동에서 시작한 pdfs를 볼 수 있습니다. 가능한 선택 사항을 하드 코딩하는 것 외에 좋은 앱을 확인하는 더 합법적 인 방법이 있습니까? 고맙습니다. –