我可以保证在我的手机中有一个名为“adobe.pdf”的pdf 文件/storage/emulated/0/Documents/adobe.pdf
我通过 URL 链接下载了 pdf 并存储在 Documents 中。这是我下载并存储它的方式。这是同一应用程序中的另一个活动。
public void DownloadBooks(String url,String title){
DownloadManager.Request request=new DownloadManager.Request(Uri.parse(url));
String tempTitle=title.trim();
request.setTitle(tempTitle);
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.HONEYCOMB){
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOCUMENTS,tempTitle+".pdf");
DownloadManager downloadManager=(DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
request.setMimeType("application/pdf");
request.allowScanningByMediaScanner();
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI);
downloadManager.enqueue(request);
}
DownloadBooks("a link"," adobe");
下载完成后,pdf adobe.pdf存储在 /storage/emulated/0/Documents/
,我想查看这个下载的 PDF。
我正在使用库来显示 PDF,但它不可见。这是我的代码
package com.shivansh.firebasedemo;
public class DownloadedPDFViewerActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener, OnLoadCompleteListener {
PDFView pdfView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_downloaded_p_d_f);
pdfView =findViewById(R.id.pdfView);
File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
File file = new File(root,"adobe.pdf");
Log.i("5656",file.toString());
pdfView.fromFile(file).
enableSwipe(true)
.defaultPage(0)
.swipeHorizontal(false)
.onLoad(this)
.load();
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
@Override
public void loadComplete(int nbPages) {
}
}
上面的日志语句打印
2021-05-06 03:13:31.734 9470-9470/com.shivansh.firebasedemo I/5656: /storage/emulated/0/Documents/adobe.pdf
这表明我在设备上找到了文件的正确位置。
现在,如何让这个 pdf 在我的活动中呈现?