从Android读取PDF文件

时间:2011-10-17 13:14:24

标签: android pdf

我正在尝试从Android应用程序中读取Pdf文件。

它构建一个应用程序并且没有错误,但是当我单击按钮时它没有做任何事情。看起来应用程序认为没有文件。

我需要帮助,因为我对Android应用程序很新,但需要在今天或明天完成这项工作。这样做的人现在离开了。

 package com.readPDF;

   import java.io.File;

   import android.app.Activity;
   import android.content.ActivityNotFoundException;
   import android.content.Context;
  import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.Toast;

   public class ReadPDF extends Activity {



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button button = (Button) findViewById(R.id.pdfbutton);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(getContext(), "in.", Toast.LENGTH_LONG).show();
            File file = new File("http://path/pathtopdf/mypdf.pdf");

            if (file.exists()) {
                Uri path = Uri.fromFile(file);
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(path, "application/pdf");
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                try {
                    startActivity(intent);
                } 
                catch (ActivityNotFoundException e) {
                    Toast.makeText(ReadPDF.this, 
                        "No Application Available to View PDF", 
                        Toast.LENGTH_SHORT).show();
                }
            }
        }

        private Context getContext() {
            // TODO Auto-generated method stub
            return null;
        }
    });
    }
  }

2 个答案:

答案 0 :(得分:0)

您的pdf路径不正确。更改其他有效路径,然后再试一次。然后首先尝试是否设置了Internet权限。

答案 1 :(得分:0)

您无法使用新文件(“http url”)直接获取远程服务器中的文件。

URI uri = new URI("http", "//path/pathtopdf/mypdf.pdf", null);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

try {
    startActivity(intent);
} catch (ActivityNotFoundException e) {
    Toast.makeText(ReadPDF.this, 
                        "No Application Available to View PDF", 
                        Toast.LENGTH_SHORT).show();
}