Android(安卓)wps文件下载、预览
16lz
2021-12-04
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() { @Override public 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中跳转到新的url return 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.WebView android: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相同
更多相关文章
- 箭头函数的基础使用
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- busybox应用于android系统
- Android(安卓)开发手记之NDK 编程实例
- Unity5与Android交互通信(使用Android(安卓)Studio2.4) 详细操作一
- Android(安卓)项目在Eclipse中的目录结构
- Android内存泄漏调试