私のアプリケーションでは、pdf ファイルを開く必要があります。そのために、pdf ファイルを開くコードを用意しました。私の pdf ファイルが sdcard にあるとします。アプリケーションが sdcard からアプリケーション パスに変更されたとき、つまり動作/data/data/app.package/
していません。のような警告ダイアログ
Invalid file path
。この問題を解決する方法を教えてください。
3 に答える
Androidドキュメントによる
デバイスの内部ストレージにファイルを直接保存できます。デフォルトでは、内部ストレージに保存されたファイルはアプリケーション専用であり、他のアプリケーションはそれらにアクセスできません (ユーザーもアクセスできません)。ユーザーがアプリケーションをアンインストールすると、これらのファイルは削除されます。
String string = "hello world!";
FileOutputStream fos = openFileOutput("HERE YOUR FILENAME", Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
/data/data/app.package/file.pdf を他のアプリケーション用に redable にする必要があります。
1) openFileOutput(fname, Context.MODE_WORLD_READABLE).close(); を使用する アプリのデータ ディレクトリに共有ファイルを作成します。
2) Streams を使用して、作成したファイルに pdf ファイルを書き込みます (ストリームを閉じる代わりに、openFileOutput によってストリーム returnet に書き込むことができます)。
3) PDF ファイルを開く
/data/data/app.package/
パッケージ非公開です。この pdf を共有するには、おそらく外部ストレージに移動する必要があります( getExternalFilesDir()を使用できます)。このディレクトリにはセキュリティが適用されていません。