Android wps文件下载、预览

可能大家都遇到了Android处理办公文件不太方便的问题,先强调一点Android是做不到在线预览的,目前的解决方案都是先下载在打开,这里我提供我常用的两种方案,仅供参考,如有不对的还请批评指正,也欢迎沟通交流。

  • Android wps文件下载、预览
    • 跳转浏览器打开下载
    • 采用TbsSDK可App内部查看文件(目前鸿蒙系统好像不兼容)

跳转浏览器打开下载

这中方案是最简单的,直接跳转到我们手机浏览器,浏览器来接管后面用户下载浏览的工作。
情景一
通过一个Button跳转

Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri uri = Uri.parse(url);//url文件地址
intent.setData(uri);
startActivity(intent);

情景二
今天我们的项目经理的需求,App内部使用WebView打开了一个网页,网页里包含一个文件地址,点击文件链接跳转浏览器

 webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.contains(".pdf") || url.contains(".zip") || url.contains(".xls") || url.contains(".doc")) {Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");Uri uri = Uri.parse(url);intent.setData(uri);startActivity(intent);//打开浏览器return true;} else {view.loadUrl(url); // 在当前的webview中跳转到新的urlreturn false;}}});

这个地方我们需要new 一个WebViewClient给WebView, 在里面去拦截网页跳转事件,当url地址包含文件后缀时跳转到浏览器,否则继续加载该url

采用TbsSDK可App内部查看文件(目前鸿蒙系统好像不兼容)

TbsSDK是腾讯提供的一种共享X5内核的sdk,只要你的手机安装有QQ浏览器、QQ、VX等腾讯软件就可以共享他们的X5内核功能。官网地址

然后我们这里简单的说一下怎么使用
SDK接入
jar包方式集成 您可将官网下载的jar包复制到您的App的libs目录,并且通过Add As Library的方式集成TBS SDK
Gradle方式集成 您可以在使用SDK的模块的dependencies中添加引用进行集成:

api 'com.tencent.tbs.tbssdk:sdk:43903'

权限配置

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

创建BaseApplication,调用TbsDownloader 的 needDownload(Context context, boolean oversea) 方法,并在Menifest文件中声明BaseApplication。

public class BaseApplication extends Application {@Overridepublic void onCreate() {super.onCreate();TbsDownloader.needDownload(getApplicationContext(), false);}
}

添加com.tencent.smtt.sdk.WebView布局

<com.tencent.smtt.sdk.WebViewandroid:id="@+id/tbs_web_view"android:layout_width="match_parent"android:layout_height="wrap_content"/>

使用tbsWebView控件打开文件

HashMap<String, String> params = new HashMap<String, String>();
params.put("style", "1");
params.put("local", "true");
params.put("memuData", jsondata);
QbSdk.openFileReader(ctx,”/sdcard/xxx.doc”, params,callback);

tbsWebView其他使用方式基本与原生WebView相同

Android wps文件下载、预览相关推荐

  1. Cordova实现自定义下载插件和WPS在线预览

    Cordova实现自定义下载插件和WPS在线预览 简要描述 点击下载链接,请求URL,判断手机是否安装WPS,如果安装则调用wps在线编辑,没有安装则对文件进行下载,并在通知栏进行通知,显示下载进度( ...

  2. Android Wear开发者预览版入门

    Android Wear开发者预览版包括工具和API,增强了应用程序通知功能,提供针对Android可穿戴设备的最佳用户体验. 利用Android Wear开发者预览,你可以: 在Android模拟器 ...

  3. android应用窗口模式,[技巧]如何启用Android N开发者预览版中的“自由窗口”模式...

    这里是Android N开发者预览版"自有窗口"模式的一些实际演示截图. 对于已经参加了"Beta Program"的人们来说,通过OTA获取Android N ...

  4. Android P 开发者预览版

    Android P 开发者预览版首发! 在上周的世界移动通信大会 (Mobile World Congress) 上,我们看到由开发者.设备厂商以及芯片合作伙伴组成的 Android 生态系统不断为全 ...

  5. android p preview_细数 Android P 开发者预览版中最不能错过的新特性

    原标题:细数 Android P 开发者预览版中最不能错过的新特性 2018年安卓巴士全球开发者论坛-重庆站 [线下活动]春天到了 跟小编一起去重庆嗨皮吧~ Android P 应用适配新特性1.Pr ...

  6. 罗永浩宣布进军电商直播;微博回应用户数据泄露;Android 11 开发者预览版 2 发布 | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自视觉中国 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦, ...

  7. 神经网络API、Kotlin支持,那些你必须了解的Android 8.1预览版和Android Studio 3.0新特性

    曾仅用 55 秒发布会的 Android 8.0 Oreo 在时隔两个月后,Google 于今天在其官方网站上正式发布了 Android 8.1 首个开发者预览版,此次升级涵盖了针对多个功能的提升优化 ...

  8. Android N开发者预览版(第二版)发布

    上个月,我们发布了首个Android N的开发者预览版,本文将带你先睹为快,一窥新发布的Android N开发者预览版第二版.大家的反馈帮助我们找出了很多bug,再对功能做出改进并修复一些bug后,我 ...

  9. Android Wear 开发者预览版安装

    今天google发布了Android Wear 平台,借助该平台,开发者可以将Android移植到可穿戴设备上.Android Wear的SDK还没有发布,想尝鲜的开发者可以试用 [Android W ...

最新文章

  1. 卸载 流程_「工具」Windows 卸载软件,这一个就够了
  2. python【蓝桥杯vip练习题库】BASIC-19完美的代价(贪心算法)
  3. TF学习——TF之Tensorboard:Tensorflow之Tensorboard可视化简介、入门、使用方法之详细攻略
  4. 载波恢复算法 Blind Phase Search 算法(盲相位搜索算法 BPS算法)
  5. mysql上机实验报告3_SQL入门随笔(上机实验报告)
  6. Atitit 常见的树形结构 红黑树  二叉树   B树 B+树  Trie树 attilax理解与总结
  7. conda常用命令和基础知识整理
  8. 2022年计算机二级考试C语言程序设计冲刺题及答案
  9. html设置ie11兼容,ie11浏览器兼容性问题设置方法
  10. Java类加载机制--类加载过程(解析)
  11. python xlwt_Python模块xlwt对excel进行写入操作
  12. 逆向之Smali入门学习
  13. 张帅帅学Java之注释
  14. win10服务器系统要设置要密码是什么,云服务器win10系统初始密码
  15. html中显示特殊符号(附带特殊字符对应表)
  16. 数字图像处理(1)——认识数字图像
  17. New情报:APT28,TA505 黑产组织,VenusLocker Ransomware组织,ROKRAT远控
  18. 腾讯人口密度热力图_从腾讯位置大数据,看中国的超级城市
  19. 【Multisim仿真】NE555电路三角波、方波、正弦波发生器
  20. 混合颜色带的应用(一)

热门文章

  1. 计算机软硬件故障排除知识,计算机软硬件基础知识及常见故障排除方法(精选).doc...
  2. 为什么sop很重要?
  3. JOISC 2016 回转寿司
  4. 京东 9.17笔试题 Java
  5. 鲁棒优化(5):通过yalmip中uncertain命令快速各类不确定集合下的鲁棒优化
  6. APS软件必须满足不同规划要求
  7. [ArcGIS] 空间分析(十)3D分析 - 天际线 3D点要素、多面体创建 -错误合集
  8. 酷Q python 导入插件出现问题解决
  9. 论文教程之如何写教学类研究方法
  10. 2019 vs 安装odt_2019年12月14日罗马协会直播预告