# CarKit-SampleCode-ClientDemo-ArkTS **Repository Path**: harmonyos_samples/car-kit-sample-code-client-demo-arkts ## Basic Information - **Project Name**: CarKit-SampleCode-ClientDemo-ArkTS - **Description**: 本示例通过@kit.CarKit接口,适配HiCar业务和导航流转业务,实现了手机与车机的互联场景。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-06-18 - **Last Updated**: 2025-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Car Kit示例代码 ## 介绍 本示例展示了导航信息服务和出行分布式引擎服务的接口用法 这些接口需要导入'@kit.CarKit'。 ## 效果预览 | **应用首页** | **导航信息交互页面** | **出行业务交互页面** | |:-----------------------------------:|:------------------------------------------:|:-----------------------------------------:| | | | | 使用说明: 1. 实例演示导航数据更新接口、导航信号监听接口及出行业务的使用,通过对应的按钮触发相关接口的调用,界面文本区域会显示相关状态 ## 工程目录 ``` ├──entry/src/main/ets // 代码区 │ ├──common │ │ ├──CommonUtils.ets // 工具类 │ │ └──Logger.ets // 日志类 │ ├──entryability │ │ └──EntryAbility.ets // 程序入口类 │ └──pages │ ├──Index.ets // 程序入口类 │ ├──NavInfoServicePage.ets // 导航信息交互接口用法类 │ └──TravelServicePage.ets // 出行业务交互接口用法类 └──entry/src/main/resources // 应用静态资源目录 ``` ## 具体实现 ### 导航信息服务示例 * 获取导航管理者对象; ``` function getNavigationController(): NavigationController; ``` * 导航管理者对象,用于注册系统信号监听、解注册系统信号监听、更新导航状态(导航状态,包含导航类型,导航目的地,导航途径点,路线,地图主题等)、更新导航元数据(导航元数据,包含TBT信息,道路、电子眼等信息) ``` NavigationController // 注册系统信号监听 registerSystemNavigationListener(listener: SystemNavigationListener): void; // 解注册系统信号监听 unregisterSystemNavigationListener(): void; // 更新导航状态 updateNavigationStatus(navigationStatus: NavigationStatus): void; // 更新导航元数据(导航元数据,包含TBT信息,道路、电子眼等信息) updateNavigationMetadata(navigationMetadata: NavigationMetadata): void; ``` 业务使用时,需要先进行import导入 import { navigationInfoMgr } from '@kit.CarKit'; ### 出行业务交互示例 * 获取出行业务感知对象; ``` function getSmartMobilityAwareness(): SmartMobilityAwareness; ``` * 出行业务感知对象,用于注册出行业务事件监听、解除注册出行业务事件监听、获取出行业务事件信息、出行业务连接状态监听、解除注册出行业务连接状态监听、获取出行业务连接状态信息 ``` SmartMobilityAwareness // 出行业务事件监听 on(type: 'smartMobilityEvent', smartMobilityTypes: SmartMobilityType[], callback: Callback): void; // 解注册出行业务监听 off(type: 'smartMobilityEvent', smartMobilityTypes: SmartMobilityType[], callback?: Callback): void; // 获取出行业务事件信息 getSmartMobilityEvent(type: SmartMobilityType, eventName: string): SmartMobilityEvent; // 出行业务连接状态监听 on(type: 'smartMobilityStatus', smartMobilityTypes: SmartMobilityType[], callback: Callback): void; // 解注册出行业务连接状态监听 off(type: 'smartMobilityStatus', smartMobilityTypes: SmartMobilityType[], callback?: Callback): void; // 获取出行业务连接状态信息 getSmartMobilityStatus(type: SmartMobilityType): SmartMobilityInfo; ``` 业务使用时,需要先进行import导入 import { smartMobilityCommon } from '@kit.CarKit'; ## 相关权限 应用在使用Car Kit能力前,需要检查是否已经获取对应权限。如未获得授权,需要声明对应权限。 Car Kit所需权限有: ohos.permission.ACCESS_SERVICE_NAVIGATION_INFO:用于访问导航信息服务的API。 ohos.permission.ACCESS_CAR_DISTRIBUTED_ENGINE:用于访问出行分布式引擎服务的API。 ## 约束与限制 1. 本实例仅支持标准系统上运行,支持设备:当前仅支持华为手机。 2. HarmonyOS系统:HarmonyOS 5.0.0 Release及以上。 3. DevEco Studio版本:DevEco Studio 5.0.0 Release及以上。 4. HarmonyOS SDK版本:HarmonyOS 5.0.0 Release SDK及以上。 ## 依赖 无