WPS二次开发专题:WPS SDK事件回调

作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397)

目录

[1.什么是WPS SDK事件回调:](#1.什么是WPS SDK事件回调:)

[2.WPS SDK 事件回调类型](#2.WPS SDK 事件回调类型)

3.通用事件回调

[4. 使用参考:](#4. 使用参考:)

[4.1 文档保存完成事件回调](#4.1 文档保存完成事件回调)

[4.2 文档关闭完成事件回调](#4.2 文档关闭完成事件回调)

[4.3 通用事件通知使用注意事项](#4.3 通用事件通知使用注意事项)

5、文档对象事件回调


1.什么是WPS SDK事件回调:

第三方应用通过注册SDK事件回调接口后能够收到WPS应用程序传递给第三方应用的状态信息通知,同时结合自己的需求就可以实现需求闭环。

2.WPS SDK 事件回调类型

WPS 事件回调分成两种:

3.通用事件回调

通用事件回调由基础文档服务接口(FileApi)提供,支持Android全端(个人版,专业版)

通用事件列表

|---------------------|---------------|-------------|----------|-------------|
| 事件名称 | 平台 | 级别 | 事件类型 | 说明 |
| DocumentAfterSave | Android WPS全端 | Application | 通知型 | 当文档保存结束后被触发 |
| DocumentAfterClose | Android WPS全端 | Application | 通知型 | 当文档关闭结束后被触发 |

详细事件参考:ApiEvent

4. 使用参考:

4.1 文档保存完成事件回调

复制代码
//1.获取FileApi服务
FileApi fileApi = WpsSdk.getInstance().getApi(FileApi.class);
// 2. 添加事件监听, 注意添加事件要在调用打开文档接口之前调用if (fileApi != null) {
   fileApi.addEventListener(DemoAtvity.this, ApiEvent.DocumentAfterSave, new EventListener() {
              @OverridepublicvoidonEvent(String s, Bundle bundle){
                  Log.d("WpsSdk", "demo onEvent: s=" + s + " bundle=" + bundle);
              }
          });
    //3. 调用打开文档接口           
   fileApi.openFile(XXXAtvity.this, fileUri, bundle);
 }

4.2 文档关闭完成事件回调

复制代码
FileApi fileApi = WpsSdk.getInstance().getApi(FileApi.class);
if (fileApi != null) {
    fileApi.addEventListener(SingleOpenActivity.this, ApiEvent.DocumentAfterClose, new EventListener() {
        @Override
        public void onEvent(String s, Bundle bundle) {
            String path = bundle.getString("CurrentPath");
            Log.d("WpsSdk", "demo onEvent DocumentAfterClose : s=" + s + " bundle=" + bundle + " path=" + path);
        }
    });
    fileApi.openFile(this, fieUri, bundle);
}

4.3 通用事件通知使用注意事项

  • 注册事件需要再调用 fileApi.openFile(xx)方法之前使用
  • 通用事件仅支持文档文档打开后的事件通知

5、文档对象事件回调

这个是高阶能力,主要针对WPS专业版,个人版不支持,这里暂不详细介绍

相关推荐
维天说14 分钟前
Agent会听人话,反而更难管
java·开发语言·人工智能
SamDeepThinking14 分钟前
if嵌套最好控制在3层以内
java·后端·程序员
边境悍匪16 分钟前
蜗牛学苑 Java 智能体学习 Day36|阿里云 OSS 文件上传、Spring 事务、全局异常思维导图复盘
java·学习·阿里云
苏渡苇17 分钟前
Spring Insight 里上报 Span 为什么用 JDK HttpClient 而不是 RestTemplate
java·后端·spring·spring cloud·springboot·性能监控
裕晟资质规划20 分钟前
军工保密资质二级申报的四个可量化硬条件:条文位置、数值口径与西安配套企业实务要点
java·服务器·网络·数据库·算法
初願致夕霞22 分钟前
C/C++传统程序内存分布(代码实测)
java·c语言·c++
掉鱼的猫22 分钟前
不只是 Token 流:Solon AI 4.1 的语义化聊天事件
java·openai
她的男孩33 分钟前
同一个接口,为什么销售只看到自己的订单?我拆了 681 行数据权限拦截器的源码
java·后端·架构
卓怡学长40 分钟前
w157基于springboot北部湾地区助农平台
java·spring boot·spring·maven·intellij-idea
小白羊丨42 分钟前
问数 Agent 整体架构、意图识别、历史上下文与 NL2SQL
java·面试·架构