HarmonyOS 鸿蒙Next:跳转到WPS打开应用内的word、pdf、excel等文件的实现
HarmonyOS 鸿蒙Next:跳转到WPS打开应用内的word、pdf、excel等文件的实现
通过startAbility拉起文件处理类应用,主要是want的配置
// xxx.ets
export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage: window.WindowStage) {
// 获取文件沙箱路径
let filePath = this.context.filesDir + '/test.txt';
// 将沙箱路径转换为uri
let uri = fileUri.getUriFromPath(filePath);
// 构造请求数据
let want: Want = {
uri: uri,
type: 'text/plain', // 表示待打开文件的类型
// 配置被分享文件的读写权限,例如对文件打开应用进行读写授权
flags: wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION | wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION
};
// 调用接口启动
this.context.startAbility(want)
.then(() => {
console.info('Succeed to invoke startAbility.');
})
.catch((err: BusinessError) => {
console.error(`Failed to invoke startAbility, code: ${err.code}, message: ${err.message}`);
});
}
// ...
}
可以参考下面文档:
https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/application-models/file-processing-apps-startup.md
这个例子中want没有指定bundleName,所以会让选择所有支持你want的应用,如果指定bundleName可以指定打开某个应用
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
您好,我下载后的文件是.doc或者.docx格式的,want里的type参数应该填word还是doc/docx呢?我尝试着俩都不行,就提示“暂无支持此类文件的应用,可前往应用市场查找更多应用”
这个是怎么解决的呢
手机插电脑上,连接deveco ,打开wps 看log信息的右侧,可以选择包名,看看会不会显示,一般都会有
在HarmonyOS中实现跳转到WPS打开应用内的word、pdf、excel等文件,你需要首先确保WPS已经安装在你的设备上,并且支持通过Intent或其他机制被外部应用调用。你可以使用FileProvider或MediaStore API来访问文件,并构造一个Intent,设置Action为ACTION_VIEW,同时设置Data和Type为相应的文件类型(如application/msword, application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet等)。最后,调用startActivityForResult()或startActivity()来启动WPS处理文件。如果问题依旧没法解决请加我微信,我的微信是itying888。