# JsToJavaDemo **Repository Path**: sugarnine/js-to-java-demo ## Basic Information - **Project Name**: JsToJavaDemo - **Description**: 一个鸿蒙活动的源码 简单的 js 调用 javaUI 的应用示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-16 - **Last Updated**: 2021-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### Harmony手机开发 JsUI 调用 JavaUI 预览: ![pre_demo](./preview.gif) 主要代码: // js中的事件函数 与 调用 javaPA openCameraAbility(){ let content = { code: 1001, data: { table: "mnote", values: { filterkey: "all", filtervalue: "", }, }, }; this.connectJava(content); }, async connectJava(content) { let messageCode = content.code; let ability_action = { bundleName: "com.dweb.jiugongzi", abilityName: "com.dweb.jiugongzi.service.JsToJava", messageCode: messageCode, abilityType: 0, data: content.data, syncOption: 0, }; let ret = await FeatureAbility.callAbility(ability_action); console.info(ret); ret = JSON.parse(ret); switch (ret.code) { case 1001: console.info(ret.code); console.info(ret.msg); console.info(ret.data); break; default: console.error(ret.code); break; } }, javaPA serviceAbility 中执行路由跳转 switch (code){ case 1001:{ //开始处理数据 Intent secondIntent = new Intent(); Operation operation = new Intent.OperationBuilder() .withDeviceId("") .withBundleName("com.dweb.jiugongzi") .withAbilityName("com.dweb.jiugongzi.Image") .build(); secondIntent.setOperation(operation); // 通过AbilitySlice的startAbility接口实现启动另一个页面 startAbility(secondIntent); //通信成功信息发送前端 Map zsonResult = new HashMap(); zsonResult.put("code", 0); zsonResult.put("msg", "跳转通信成功 -- 1001"); System.out.println("=====跳转通信成功 -- 1001"); reply.writeString(ZSONObject.toZSONString(zsonResult)); break; } default:{ reply.writeString("java返回通信失败 -- no code"); return false; } } 官方文档参考: https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-fa-calls-pa-mechanism-0000001050022401 Demo地址: https://gitee.com/sugarnine/js-to-java-demo 图片裁剪的javaUI代码: https://harmonyos.51cto.com/posts/3443#bkwz