我正在构建一个应用程序,允许用户在Web视图中单击指向pdf文档的链接并在视图中显示它.我使用谷歌文档查看PDF文件工作,但我的问题是,我只希望该方法适用于PDF链接而不是每个链接,继承我的代码:

public class HelloWebViewActivity extends Activity

{

WebView mWebView;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mWebView = (WebView) findViewById(R.id.webview);

mWebView.getSettings().setJavaScriptEnabled(true);

mWebView.loadUrl("https://nuigalway.blackboard.com/webapps/login/");

mWebView.setWebViewClient(new HelloWebViewClient());

}

private class HelloWebViewClient extends WebViewClient

{

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url)

{

String googleDocs = "https://docs.google.com/viewer?url=";

mWebView.loadUrl(googleDocs + url);

return true;

}

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event)

{

if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack())

{

mWebView.goBack();

return true;

}

return super.onKeyDown(keyCode, event);

}

}

我认为错误在shouldOverrideUrlLoading方法中.是否有任何方法只允许我在webview中单击文件本身时打开pdf网址?

解决方法:

您的shouldOverrideUrlLoading逻辑不正确. url参数是被点击的网址.所以你想拦截任何pdf链接,但让webview正常处理所有其他网址.

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url)

{

if (url.endsWith(".pdf"))

{

// Load "url" in google docs

}

else

{

// Load all other urls normally.

view.loadUrl(url);

}

return true;

}

标签:android,pdf,google-docs,webview

来源: https://codeday.me/bug/20190726/1539813.html

android webview浏览pdf,android webview pdf查看相关推荐

  1. android自动浏览网站,android 使用浏览器打开指定页面的实现方法

    之前,我做一个功能时,服务器返回一个url地址,我需要跳转到指定网页.却发现自己不知道怎么做,在网上搜索了资料,最终是解决了问题.这里记录一下. 启动android默认浏览器 在Android程序中我 ...

  2. android pdfview 显示目录,Android 查看pdf文档——PDFView

    最近在搞Android显示word文档跟pdf文档的显示,分享一个显示pdf文档的小Demo(ps:word文档的显示网上挺多的).   这里使用的是PDFView,是GitHub上面的一个开源项目点 ...

  3. android 炫酷图片浏览,Glide实现WebView离线图片的酷炫展示效果

    前言 自从交房后,每天除了上班,大部分时间都是在地铁和公交上了.不过有了这些时间,可以好好看看文章打打基础,方便之后换新的环境.玩Android收录了很多值得阅读的文章,好的文章需要多读几次才有所收获 ...

  4. android 代码浏览,Webview实现android简单的浏览器实例代码

    WebView是Android中一个非常实用的组件,它和Safai.Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面,下面通过本文给大家介绍Webv ...

  5. 达内android 代码,深圳达内Android网页源码查看器.pdf

    深圳达内 Android 网页源码查看器 ? 1 <?xml version="1.0" encoding="utf-8"?> 2 < Lin ...

  6. Android PDF原生实现 PDF阅读、PDF手势伸缩、PDF目录、PDF预览缩略图 PDF方案选择 google doc android-pdfview mupdf pdf.js x5

    ##1.背景 近期,公司希望实现安卓原生端的PDF功能,要求:高效.实用. 经过两天的调研.编码,实现了一个简单Demo,如上图所示. 关于安卓原生端的PDF功能实现,技术点还是很多的,为了咱们安卓开 ...

  7. Android应用开发揭秘[高清PDF版+源码]

    编辑推荐 本书内容全面,不仅详细讲解了Android框架.Android组件等基础知识,而且还深入阐述了传感器.语音识别.桌面组件开发等高级知识,最重要的是还全面介绍了如何利用原生的C/C++(NDK ...

  8. Android开发之路之 webview

    公众号: 欢迎关注我的个人公众号,来一起交流Android 开发知识 一.简介 本来不想专门找一节来介绍webview技术的,因为现在对于混合开发有很多的框架比如RN和FLutter,但是这些框架对于 ...

  9. android webview打开相册,Android webView不能响应h5打开相册的操作

    做android聊天时,遇到过一个问题,h5的页面发送的图片在android端不能响应,ios那边一路畅通.也是相当无奈,目前发现了好多android端与ios端webView的异同. android ...

  10. android 展示pdf,Android中显示在线PDF

    Android中显示PDF iOS的WebView能从线上url直接显示pdf,而Android的WebView不能直接显示, Android的WebView要显示pdf需要拼接url到google的 ...

最新文章

  1. Python2 与 Python3 区别
  2. vue element ui 滚动条
  3. DSP调试报错:OMAPL138 Connect to PRSC failed
  4. mysql命令程序_MySQL命令大全经典版
  5. 什么是事务?为什么需要事务?
  6. 在SAP中进行黏贴时必须要把之前的数据删掉后才能黏贴,不能直接使用黏贴来覆盖之前的数据,这个怎麼解?
  7. 198. House Robber
  8. CAN波形解析实例(1)
  9. VS中添加第三方库及相对路径设置
  10. Scrapy添加随机ip
  11. SpringBoot-动力节点-王鹤
  12. 基于JAVA+SpringMVC+Mybatis+MYSQL的宠物医院管理系统
  13. 【树莓派搭建个人网站】花生壳内网穿透
  14. 2020年考研准考证打印下载及注意事项
  15. 图标插件FusionChartsFree
  16. 关于SQL2005安装完毕后,没有SQL Server Management Studio问题的解决方法
  17. 攻防演练场景中的加密流量检测技术
  18. U盘拷贝大文件提示文件过大无法拷贝解决方案
  19. buflab-计算机系统实验
  20. 2021-01-20

热门文章

  1. SPSS入门教程——合并文件添加变量匹配数据的方法
  2. QGIS制图:矢量数据制图流程及导出
  3. pyc文件反编译到Python源码
  4. matlab 有限元 图书,MATLAB有限元分析与应用
  5. visio2013激活教程
  6. php 批量打印word pdf,Office批量打印精灵教程--Word、PDF、Excel、PPT批量打印
  7. VUE源码解析(持续更新)
  8. 关于tensorflow linux avx2指令集的安装处理
  9. 计算机考研408真题
  10. MAX232(MAX3232)电平转换芯片的工作原理