私は、サーバーからpdfをダウンロードして保存するアプリケーションに取り組んでいます。それから私はレプリカリーダーのような別のアプリケーションを使用して私のアプリからpdfを読む。アンドロイドアプリでPDFfを使って保護していますか?
私は、他のアプリケーションがファイルを読み取ることができないようにPDFファイルを保存できる方法があることを知りたがっていました。このファイルは、自分のアプリケーションから使用されたときにのみ読み込まれます。 は、どのような方法はありますか?
私は、サーバーからpdfをダウンロードして保存するアプリケーションに取り組んでいます。それから私はレプリカリーダーのような別のアプリケーションを使用して私のアプリからpdfを読む。アンドロイドアプリでPDFfを使って保護していますか?
私は、他のアプリケーションがファイルを読み取ることができないようにPDFファイルを保存できる方法があることを知りたがっていました。このファイルは、自分のアプリケーションから使用されたときにのみ読み込まれます。 は、どのような方法はありますか?
(私の知る限り1として)私は /data/data/<package_name>files
、このためには、アプリケーションの内部パッケージでダウンロードしたPDFファイルを保存する必要があると思うし、あなたがサードパーティの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());
}
私はこれを試してみましたが、PDFリーダーは、黒い画面を表示し、 – Navdroid
これは私の場合はうまくいきます。上記のコードを使用してファイルディレクトリにpdfファイルストアをダウンロードしてから使用します。それをAdobePdfReaderに表示します。 – user370305
私の更新されたコードを見てください。 – user370305