【问题标题】:Open URL or PDFreader in custom screen Android在自定义屏幕 Android 中打开 URL 或 PDFreader
【发布时间】:2012-08-29 11:19:35
【问题描述】:

我正在开发需要在弹出窗口等自定义屏幕中打开内置应用程序的应用程序 但是当我调用内置应用程序时,屏幕尺寸是全屏的,而我需要自定义屏幕尺寸。内置应用程序可以是浏览器或 pdfreader 之类的任何东西。

这是我的代码:-

String strurl = "/sdcard/download/28889.pdf"; 

     File file = new File(strurl); 

     if (file.exists()) { 
         Uri path = Uri.fromFile(file); 
      //   Log.e("path of the file",path.toString()); 
         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(getApplicationContext(),  
                 "No Application Available to View PDF",  
                 Toast.LENGTH_SHORT).show(); 
         } 

这会在我的应用程序中打开新窗口,但我需要弹出式窗口,我需要在其中显示此 pdfreader 以进行显示。

【问题讨论】:

  • 对不起.. 不可能.. 使用任何第三方本机应用程序。构建您自己的 pdf 阅读器并将活动主题设置为 Dialog.. All d Best..!
  • 以上评论是唯一可行的办法

标签: android pdf window


【解决方案1】:

根据设计,Android 不允许一个应用在另一个应用中运行(除其他外,出于明显的安全原因)。因此,如果这是您想要做的,那您就不走运了。

但是您可以使用 WebView(我让您查阅有关此类的文档)在您的应用程序中显示网页。 那里也有一些 pdf 库。不过需要注意的是,一年前我在 Android 上开发了一个 pdf 阅读器,实现 pdf 阅读器并不是最好的解决方案。在服务器端处理 pdf 解码并提供此图像的视图(或转换为 html)是最好的解决方案。
这样你就不会使用太多的计算能力来阅读 pdf(令人惊讶的是,你需要一些严肃的 cpu 来阅读 pdf)。

自我进行开发以来,事情可能已经发生了变化(我确实受到时间因素的限制),但我仍然认为除非您明确需要显示 pdf 文档而不仅仅是文档(例如合法的原因是您需要在 Android 设备上检查 pdf 的签名),您不应该在手机上使用 pdf 格式。

【讨论】:

  • 哦是这样吗?如果您使用过 pdfreader,请告诉我是否可以在 webview 中打开 Pdf 并且 pdf 位于 SD 卡上。 WebView mWebView=new WebView(PdftestActivity.this); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); String linkto = "/sdcard/download/song.pdf"; mWebView.loadUrl("docs.google.com/gview?embedded=true&url="+linkto); setContentView(mWebView);
  • 我认为这里有一个误解:据我所知,股票浏览器和 Android 版 Chrome 都不支持 pdf。事实上不需要,因为 Android 上有大量的 pdf 阅读器,并且每个终端都附带了一个。因此,如果您愿意,您可以在 pdf 上提出您的 webview 观点,但它不会产生任何有趣的结果。但是,您可以使用指向 docs.google.com/gview?embedded=true&url=http://www.abc.com/…" 的肮脏技巧。这将起作用,但您需要将 pdf 放在某个网页上。
  • 有一些开源的 pdf 库,如果你真的想在 Android 上阅读 pdf,那是要走的路。但是同样,我不知道您要做什么,但除非您绝对需要阅读 pdf,否则我建议您不要阅读。这种格式根本不适合移动设备。
【解决方案2】:

对于网页 URL 你可以使用 Webview

PDF

您需要制作您的 pdf 阅读器,或者您可以使用任何开源 pdf 阅读器来制作您自己的 pdf 阅读器的自定义版本,您可以在您的应用程序中使用它。

其中一些是

1)http://www.mupdf.com/

2) http://sourceforge.net/projects/pdfedit/

3) 在 Google/SO 上搜索其他链接

【讨论】:

  • 我想问你的同样的问题,我已经问过我是否可以在 web 视图中打开 Pdf 并且 pdf 位于 SD 卡上。 WebView mWebView=new WebView(PdftestActivity.this); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); String linkto = "/sdcard/download/song.pdf"; mWebView.loadUrl("docs.google.com/gview?embedded=true&url="+linkto); setContentView(mWebView);
【解决方案3】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多