android - 从 SD 卡浏览和打开 pdf 文件?

标签 android pdf

我想浏览 sdcard 中的 pdf 文件,然后想在 pdfviewer 中打开它。无论我尝试如何打开 SD 卡,但都无法在 pdfviewer 中打开它。

我该怎么做?

public void onClick(View v) {

    Intent intent = new Intent();
    intent.setType("application/pdf");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Pdf"), REQUEST_PICK_FILE );

}
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent result) {
         if (resultCode == RESULT_OK) {
                switch (requestCode) {
                case REQUEST_PICK_FILE:
                {
                    Uri data = result.getData();

                    if(data.getLastPathSegment().endsWith("pdf")){
                        startActivity(new Intent(this, PDFReaderAct.class)); 
                    } else {
                        Toast.makeText(this, "Invalid file type", Toast.LENGTH_SHORT).show();   
                    }  }             
                }
            }
    }

最佳答案

试试这个:

File targetFile = new File(Environment.getExternalStorageDirectory(), "/Android/data/...../yourpdf.pdf");
Uri targetUri = Uri.fromFile(targetFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(targetUri, "application/pdf");
this.startActivity(intent);

关于android - 从 SD 卡浏览和打开 pdf 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14019026/

相关文章:

java - 如何停止位置自动更新

pdf - Puppeteer:如何生成只有一页且该页包含网页所有内容的PDF

image - 使用 Apache Tika 从 PDF 中提取图像

java - 设置图像资源

ios - 如何为 [String] 数组创建的 PDF 添加边距以进行打印?

Java:如何将PDF写出到文本文件?

java - 从Java中的压缩PDF文件中读取字节

java - 单击按钮时未执行任何 Activity

android - 如何使用 MediaCodec 从视频中获取位图(帧)

java - Android 上的绑定(bind)服务与启动服务以及如何同时进行