(насколько мне известно) я думаю, что для этого вы должны хранить загруженный файл PDF во внутреннем пакете приложения,
/data/data/<package_name>files
, и вы должны прочитать этот файл через сторонние программы чтения PDF . Для этого вы должны сохранить этот файл с разрешением MODE_WORLD_READABLE
, чтобы файл PDF сохранялся в пакете вашего приложения, и вы можете читать его с помощью стороннего читателя PDF. Также он помещен во внутреннюю память, поэтому другие приложения не могут легко получить к нему доступ (кроме корневого устройства).
Код для записи файлов,
FileOutputStream fos = openFileOutput(pdfFileName, Context.MODE_WORLD_READABLE);
fos.write(pdfAsBytes);
fos.close();
EDIT:
Для просмотра файла PDF, который я использовал,
File file = new File("/data/data/<package_Name>/files/pdffile");
Uri path = Uri.fromFile(file);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path, "application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try
{
startActivity(pdfIntent);
}
catch(Exception e)
{
Log.e("Activity Not Found Exception",e.toString());
}