Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从设备';在android中使用barteksc/AndroidPDViewer库时,s的内部存储不可见_Java_Android_Pdf_Androidpdfviewer - Fatal编程技术网

Java 从设备';在android中使用barteksc/AndroidPDViewer库时,s的内部存储不可见

Java 从设备';在android中使用barteksc/AndroidPDViewer库时,s的内部存储不可见,java,android,pdf,androidpdfviewer,Java,Android,Pdf,Androidpdfviewer,我可以保证手机中有一个名为“adobe.pdf”的pdf文件,位于/storage/emulated/0/Documents/adobe.pdf 我通过URL链接下载了pdf文件,并将其存储在文档中。下面是我下载和存储它的方式。这是同一应用程序中的另一项活动 public void DownloadBooks(String url,String title){ DownloadManager.Request request=new DownloadManager.R

我可以保证手机中有一个名为“adobe.pdf”的pdf文件,位于
/storage/emulated/0/Documents/adobe.pdf

我通过URL链接下载了pdf文件,并将其存储在文档中。下面是我下载和存储它的方式。这是同一应用程序中的另一项活动


    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");
下载完成后,pdfadobe.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?

Android版本的旧设备?您是如何获得读取权限的?还可以使用file.exists()和file.canRead()。您好,我在Android 11上。我使用
获得读取权限
file.exists()
的输出为
true
和'file.canRead()`is
false
,那么我如何读取此文件?这是我下载@blackapps的同一个pdf文件。你知道交易:)谁下载了该文件?您的应用程序如何知道该文件路径?