不使用任何浏览器或第三方应用程序在我的Android应用程序中打开PDF文件

时间:2016-07-07 11:11:02

标签: android pdf pdfviewer external-application

我已经在这个主题上搜索过很多但我找不到合适的答案。我请求不要在没有答复的情况下将其标记为重复。

我在Android应用程序中有两个活动。

1]。服务器上可用的PDF文件列表,点击任何该文件开始下载并显示进度条,直到下载完成。 下载完成弹出后,弹出两个按钮[查看]或[取消]打开。 单击View open second activity将pdf文件路径作为参数传递。

2]。在第二个活动中,我想打开仅在我的应用程序活动中传递的PDF文件。

我不想使用任何浏览器,驱动器,文件管理器或任何外部Android应用程序。

我如何实现这一目标,请为我提供合适的解决方案。 提前谢谢你:)

1 个答案:

答案 0 :(得分:2)

将文件名从FirstActivity发送到SecondActivity。

Intent i=new Intent(FirstActivity.this, SecondActivity.class);
 i.putExtra("file", fileUrl);
 startActivity(i);

在SeconActivity中,使用WebView

修改

Intent i = getIntent();
    String myPdfUrl = i.getStringExtra("file");
    String url = "http://docs.google.com/gview?embedded=true&url=" + myPdfUrl;
    String doc="<iframe src='"+url+"' width='100%' height='100%' style='border: none;'></iframe>";
    WebView web=(WebView)findViewById(R.id.webViewpdf);
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.loadData(doc, "text/html", "UTF-8");

layout.xml

<LinearLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/webViewpdf"/>

</LinearLayout>