android预览word(WPS预览)

在Android项目中实现文件预览功能,选择调用WPS的方式,因为其简单且无需第三方SDK,但前提是手机已安装WPS。本文提供相关代码示例,详细解释如何通过Intent启动WPS预览Word文件,并设置了相关参数如打开模式、关闭广播等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在项目中需要加入预览文件功能,在网上搜索了大部分的回答,集合自己的项目综合考虑,调用WPS的方式更加适合自己,简单不用第三方的sdk,但是手机中得安装WPS。下面是代码:(复制的)

 

  1.  Intent intent = new Intent();  
  2.         Bundle bundle = new Bundle();  
  3.         bundle.putString(WpsModel.OPEN_MODE, OpenMode.NORMAL); // 打开模式  
  4.         bundle.putBoolean(WpsModel.SEND_CLOSE_BROAD, true); // 关闭时是否发送广播  
  5.         bundle.putString(WpsModel.THIRD_PACKAGE, getPackageName()); //getPackageName()是你的项目包名  
  6.         bundle.putBoolean(WpsModel.CLEAR_TRACE, true);// 清除打开记录  
  7.         // bundle.putBoolean(CLEAR_FILE, true); //关闭后删除打开文件  
  8.         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  9.         intent.setAction(android.content.Intent.ACTION_VIEW);  
  10.         intent.setClassName(PackageName.NORMAL, ClassName.NORMAL);  
  11.   
  12.         File file = new File(path);  
  13.         if (file == null || !file.exists()) {  
  14.             System.out.println("文件为空或者不存在"); 
  15.         }  
  16.   
  17.         Uri uri = Uri.fromFile(file);  
  18.         intent.setData(uri);
  19.         intent.putExtras(bundle);  
  20.         try {  
  21.             startActivity(intent);  
  22.         } catch (ActivityNotFoundException e) {  
  23.             System.out.println("打开wps异常:"+e.toString());  
  24.             e.printStackTrace();  
  25.           
  26.         }  
  27.         
  28.     }  

 下边的代码是上面代码用到的常量类

  1. public class WpsModel {  
  2.     public static final String OPEN_MODE = "OpenMode";// 打开文件的模式。  
  3.     public static final String SEND_SAVE_BROAD = "SendSaveBroad";// 文件保存时是否发送广播。  
  4.     public static final String SEND_CLOSE_BROAD = "SendCloseBroad";// 文件关闭时是否发送广播  
  5.     public static final String THIRD_PACKAGE = "ThirdPackage";// 第三方的包名,关闭的广播会包含该项。  
  6.     public static final String CLEAR_BUFFER = "ClearBuffer";// 关闭文件时是否请空临时文件。  
  7.     public static final String CLEAR_TRACE = "ClearTrace";// 关闭文件时是否删除使用记录。  
  8.     public static final String CLEAR_FILE = "ClearFile";// 关闭文件时是否删除打开的文件。  
  9.     public static final String VIEW_PROGRESS = "ViewProgress";// 文件上次查看的进度。  
  10.     public static final String AUTO_JUMP = "AutoJump";// 是否自动跳转到上次查看的进度。  
  11.     public static final String SAVE_PATH = "SavePath";// 文件保存路径。  
  12.     public static final String VIEW_SCALE = "ViewScale";// 文件上次查看的视图的缩放。  
  13.     public static final String VIEW_SCALE_X = "ViewScrollX";// 文件上次查看的视图的X坐标。  
  14.     public static final String VIEW_SCALE_Y = "ViewScrollY";// 文件上次查看的视图的Y坐标。  
  15.     public static final String USER_NAME = "UserName";// 批注的作者。  
  16.     public static final String HOMEKEY_DOWN = "HomeKeyDown";// 监听home键并发广播  
  17.     public static final String BACKKEY_DOWN = "BackKeyDown";// 监听back键并发广播  
  18.     public static final String ENTER_REVISE_MODE = "EnterReviseMode";// 以修订模式打开文档  
  19.     public static final String CACHE_FILE_INVISIBLE = "CacheFileInvisible";// Wps生成的缓存文件外部是否可见  
  20.   
  21.     public class OpenMode {  
  22.         public static final String NORMAL = "Normal";// 只读模式  
  23.         public static final String READ_ONLY = "ReadOnly";// 正常模式  
  24.         public static final String READ_MODE = "ReadMode";// 打开直接进入阅读器模式  
  25.                                                             // 仅Word、TXT文档支持  
  26.         public static final String SAVE_ONLY = "SaveOnly";// 保存模式(打开文件,另存,关闭)  
  27.                                                             // 仅Word、TXT文档支持  
  28.     }  
  29.   
  30.     public class ClassName {  
  31.         public static final String NORMAL = "cn.wps.moffice.documentmanager.PreStartActivity2";// 普通版  
  32.         public static final String ENGLISH = "cn.wps.moffice.documentmanager.PreStartActivity2";// 英文版  
  33.         public static final String ENTERPRISE = "cn.wps.moffice.documentmanager.PreStartActivity2";// 企业版  
  34.     }  
  35.   
  36.     public class PackageName {  
  37.         public static final String NORMAL = "cn.wps.moffice_eng";// 普通版  
  38.         public static final String ENGLISH = "cn.wps.moffice_eng";// 英文版  
  39.     }  
  40.   
  41.     public class Reciver {  
  42.         public static final String ACTION_BACK = "com.kingsoft.writer.back.key.down";// 返回键广播  
  43.         public static final String ACTION_HOME = "com.kingsoft.writer.home.key.down";// Home键广播  
  44.         public static final String ACTION_SAVE = "cn.wps.moffice.file.save";// 保存广播  
  45.         public static final String ACTION_CLOSE = "cn.wps.moffice.file.close";// 关闭文件广播  
  46.     }  
  47.   
  48. }  





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值