智能客服
你问我答,随时在线为你解决问题
摇一摇导航流转是将手机应用界面上的地址信息无缝流转至HiCar车机端,直接开启目的地导航。
当应用界面上存在地址信息时,开发者可以将地址信息设置对应的标签,即可实现摇一摇导航流转功能。
- {
- "module": {
- "abilities": [
- {
- "name": "xxxx",
- "srcEntry": "xxxx",
- "description": "xxxx",
- "skills": [
- {
- "actions": [
- "action.navigation.infoservice"
- ]
- },
- {...}
- ],
- "metadata": [
- {
- "name" : "carHopCapability",
- "value" : "carHopNavi"
- },
- ]
- }
- ],
- "requestPermissions": [
- {
- "name": "ohos.permission.ACCESS_SERVICE_NAVIGATION_INFO"
- }
- ]
- }
- }
- try {
- const navInfoController: navigationInfoMgr.NavigationController = navigationInfoMgr.getNavigationController();
- navInfoController.registerSystemNavigationListener({
- onQueryNavigationInfo: (query: navigationInfoMgr.QueryType,
- args: Record<string, Object>) => {
- return new Promise((resolve, reject) => {
- if (query === navigationInfoMgr.QueryType.NAVIGATION_STATUS) {
- const status = {} as navigationInfoMgr.NavigationStatus;
- if (当前处于地址界面) {
- status.status = navigationInfoMgr.MapStatus.POI;
- status.destLocation = {
- name: 'xxxxx', // 地址名称
- coordType: navigationInfoMgr.LocationCoordType.GCJ02,
- longitude: xxx, // 地址经度
- latitude: xxx, // 地址纬度
- altitude: 0
- }
- } else {
- status.status = navigationInfoMgr.MapStatus.IDLE;
- status.destLocation = {
- name: 'xxxxx', // 地址名称
- coordType: navigationInfoMgr.LocationCoordType.GCJ02,
- longitude: -999, // 地址经度
- latitude: -999, // 地址纬度
- altitude: 0
- }
- }
- let result: navigationInfoMgr.ResultData = {
- code: 0,
- data: JSON.parse(JSON.stringify(status)),
- message: 'success'
- }
- resolve(result);
- } else {
- reject({ code: 0, message: 'Not supported' });
- }
- });
- },
- onReceiveNavigationCmd: (command: navigationInfoMgr.CommandType, args: Record<string, Object>) => {
- return new Promise((resolve, reject) => {
- reject({ code: 0, message: 'Not supported' });
- });
- }
- });
- } catch (err) {
- ......
- }
- try {
- const navInfoController: navigationInfoMgr.NavigationController = navigationInfoMgr.getNavigationController();
- navInfoController.unregisterSystemNavigationListener();
- } catch (err) {
- ......
- }
如果应用未接入Car Kit,可通过该方式实现摇一摇导航流转。
- {
- "module": {
- "abilities": [
- {
- "name": "xxxx",
- "srcEntry": "xxxx",
- "description": "xxxx",
- "skills": [
- {
- "actions": [
- "action.navigation.infoservice"
- ]
- },
- {...}
- ],
- "metadata": [
- {
- "name" : "carHopCapability",
- "value" : "carHopAddress"
- },
- ]
- }
- ]
- }
- }
- const hintContent = JSON.stringify({
- type: 'location',
- groupId: 1,
- index: 1,
- });
-
- Text('地址描述')
- .accessibilityTextHint(hintContent)
| 字段名 | 描述 |
|---|---|
| type | 文本属性,固定为“location”,代表文字是地址信息。 |
| groupId | 文本分组,当地址需要拆分为多个Text组件时,设置为同一个id,则表示是一个地址。 |
| index | 文本组内顺序,标识在同一个groupId中的排序。 |