0

アプリケーションでPDFファイルを作成し、それをsdCardに正常に保存しました。ここに示すように、PDFをSDカードではなく内部ストレージに保存したいのですが、PDFリーダーのインテントを開くと、次のようになります。

Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(file);
Log.v("Path",file.getAbsolutePath()); // Path data/data/com.cloudchowk.his.patient/files/LIPID PROFILE1300000403.pdf
i.setDataAndType(uri, "application/pdf");
startActivity(i);

PDF リーダーにエラーが表示されるThe document path is not valid.

ルート化されたデバイスとルート化されていないデバイスの 2 つでこれを試しましたが、いずれのデバイスでも機能しませんでした。私は何をすべきか ?何か案は?

4

2 に答える 2

0

内部ストレージのファイルを他のアプリで使用できるようにする最もクリーンな方法は、コンテンツ プロバイダーを使用することです。幸いなことに、Android にはFileProviderが付属しています。これは、あなたのニーズを満たすだけの実装です。コードを実装する必要はありません。マニフェストでプロバイダーを指定するだけで済みます。

于 2015-12-07T16:15:07.913 に答える