作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397)
目录
[1.什么是WPS SDK事件回调:](#1.什么是WPS SDK事件回调:)
[2.WPS SDK 事件回调类型](#2.WPS SDK 事件回调类型)
[4. 使用参考:](#4. 使用参考:)
[4.1 文档保存完成事件回调](#4.1 文档保存完成事件回调)
[4.2 文档关闭完成事件回调](#4.2 文档关闭完成事件回调)
[4.3 通用事件通知使用注意事项](#4.3 通用事件通知使用注意事项)
1.什么是WPS SDK事件回调:
第三方应用通过注册SDK事件回调接口后能够收到WPS应用程序传递给第三方应用的状态信息通知,同时结合自己的需求就可以实现需求闭环。
2.WPS SDK 事件回调类型
WPS 事件回调分成两种:
- 通用的事件回调(EventListener)
- 文档对象的事件回调(OfficeEventListener)
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专业版,个人版不支持,这里暂不详细介绍