Использование Pdf в приложении для Android с защитой? - PullRequest
0 голосов
/ 23 февраля 2012

Я работаю над приложением, которое загружает PDF-файл с сервера и сохраняет его.Затем я использую другое приложение, такое как repligo reader, чтобы прочитать pdf из моего приложения.

Я хотел знать, есть ли способ, чтобы pdf-файлы могли быть сохранены так, чтобы ни одно другое приложение не могло прочитать файл.Файл только для чтения, когда он используется из моего приложения.Есть ли способ? Пожалуйста, помогите

1 Ответ

2 голосов
/ 23 февраля 2012

(насколько мне известно) я думаю, что для этого вы должны хранить загруженный файл 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());
}
...