0

这是我的按钮点击代码:

    private View.OnClickListener onButton1=new View.OnClickListener() {
       public void onClick(View v){
        copyAssets();

        File rootDir = Environment.getExternalStorageDirectory();
        File file = new File(rootDir + "/sdcard/" +"save.pdf");
         if(file.exists())
           {
            // do action here

            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromFile(file));
            intent.setType("application/pdf");

            startActivity(intent);
           }
         else {
            Toast.makeText(getApplicationContext(), "File does not exist",         Toast.LENGTH_LONG).show();
         }

       }
     };

copyAssets() 是一个函数,通过它我将文件从我的资产文件夹复制到我的 SD 卡,它在我检查我的设备时工作,但是当我单击按钮时我无法打开它。我的文件在 SD 卡上命名为 save.pdf

4

1 回答 1

1

您可以通过提供如下路径从 SDCard 读取 pdf 文件:

        File pdfFile = new File(path); 
        if(pdfFile.exists()) 
        {

            Uri path = Uri.fromFile(pdfFile); 
            Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
            pdfIntent.setDataAndType(path, "application/pdf");
            pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            try
            {
                startActivity(pdfIntent);
            }
            catch(ActivityNotFoundException e)
            {
                Toast.makeText(uractivity.this, "File does not exist", Toast.LENGTH_LONG).show(); 
            }
        }
于 2012-10-02T07:45:32.447 回答