1.需求场景
在项目开发中碰到这种情况,我们需要利用WPS的文档管理能力,比如需要调用WPS的文件选择器,来选择文档,同时需要得到WPS选择的文档结果返回给我们的应用。之前在网上找到了很久都没有找到WPS移动端有相关的API接口文档和解决方案,最近在逛WPS社区论坛的时看到了有一个WPS SDK相关介绍,经过申请SDK后一系列体验终于完美解决了问题。
2、效果展示
3、具体实现步骤
通过WPS社区文章: 解锁WPS二次开发新世界:Android开发用户专属极速接入秘籍!获取相关WPS-SDK集成资料,然后一步步实现完成,先将如何获取WPS端内文档详细步骤总结如下:
3.1目标:获取WPS端内文件
3.2 实现步骤:
3.2.1添加依赖库
将WPS提供集成资源压缩包里面libs相关的aar文件集成到自己的工程中
具体申请方式,参考:
链接: WPS SDK集成资料申请
3.2.2.SDK初始化
在自己工程Application的onCreate方法中调用SDK的初始化Api, 参考如下
SdkConfig config = new SdkConfig.Builder()
//开启日志开关
.setEnableDebug(true)
//是否禁止弹出安装更新提示框
.build();
//初始化
WpsSdk.getInstance().init(this,config);
3.3.3.调用获取WPS端内文件功能接口
调用相关API接口,调起WPS文件选择器
参考如下:
FileManagerApi fileManagerApi = WpsSdk.getInstance().getApi(FileManagerApi.class);
if (fileManagerApi != null) {
fileManagerApi.selectFiles(MainActivity.this, new ResultCallback<Uri>() {
@OverridepublicvoidonCallback(Result<Uri> result){
if (result.code == 0) {
Uri fileUri = result.data;
Log.d("WpsSdkLog", "MainActivity selectFiles onCallback 转换输出路径:fileUri=" + fileUri);
//从WPS路径拷贝到第三方应用路径// String outFile = FileUtil.copyFileFromUri(MainActivity.this, fileUri, "output");// Log.d("WpsSdkLog", "MainActivity selectFiles onCallback: outFile=" + outFile);
Toast.makeText(MainActivity.this, " 选择的文件路径:" + fileUri, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, " 出现异常:" + result.msg, Toast.LENGTH_SHORT).show();
}
}
});
}
PS: 详细可参考 WpsSdkDemo工程 中MainActivity中的selectWpsFiles方法
至此,如何实现在自己的应用中集成WPS-SDK调用WPS文档选择器的功能完成,是不是超级简单,如果能够帮助到您,请动动发财的小手来个一键三连