精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發:通過startAbilityByType拉起垂類應用

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-12 14:32 ? 次閱讀

通過startAbilityByType拉起垂類應用

使用場景

開發者可通過特定的業務類型如導航、金融等,調用startAbilityByType接口拉起對應的垂域面板,該面板將展示目標方接入的垂域應用,由用戶選擇打開指定應用以實現相應的垂類意圖。垂域面板為調用方提供統一的安全、可信的目標方應用,同時降低調用方的接入成本。

約束限制

設備限制 HarmonyOS NEXT Developer Preview0及以上版本的設備

接口說明

接口startAbilityByType11+ 是[UIAbilityContext]和[UIExtensionContentSession]提供的支持基于垂域業務類型拉起垂域面板,調用方通過指定特定的垂域業務類型即可拉起對應的垂域面板,在垂域面板上將展示目標方接入的垂域應用。

type為navigation導航對應的wantParam:

屬性名稱含義數據類型是否缺省
destinationLatitude終點緯度GCJ-02numbersceneType=1或2時不可缺省
destinationLongitude終點經度GCJ-02numbersceneType=1或2時不可缺省
sceneType意圖取值 :1:路線規劃 2:導航 3: 地點搜索number可缺省,缺省時默認為1
destinationName終點名稱stringsceneType=3時不可缺省
originName起點名稱(路線規劃場景有效)string可缺省
originLatitude起點緯度GCJ-02(路線規劃場景有效)number可缺省
originLongitude起點經度GCJ-02(路線規劃場景有效)number可缺省
vehicleType交通出行工具:0:駕車 1:步行 2:騎行 3:公交(路線規劃場景有效)number可缺省,缺省時由應用自行處理

接入步驟

調用方接入步驟

  1. 導入ohos.app.ability.common模塊。
    import common from '@ohos.app.ability.common';
    
  2. 構造接口參數并調用startAbilityByType接口。

示例

import common from '@ohos.app.ability.common';
let context = getContext(this) as common.UIAbilityContext;
let wantParam: Record< string, Object > = {
    'sceneType':1,
    'destinationLatitude':32.060844,
    'destinationLongitude':118.78315,
    'destinationName':'xx市xx路xx號',
    'originName':'xx市xx公園',
    'originLatitude':31.060844,
    'originLongitude':120.78315,
    'vehicleType':0
};
let abilityStartCallback: common.AbilityStartCallback = {
  onError: (code: number, name: string, message: string) = > {
    console.log(`code:` + code + `name:` + name + `message:` + message);
  }
}
context.startAbilityByType("navigation", wantParam, abilityStartCallback, (err) = > {
  if (err) {
    console.error(`startAbilityByType fail, err: ${JSON.stringify(err)}`);
  } else {
    console.log(`success`);
  }
});

效果示例圖:

效果示例圖

目標方接入步驟

  1. 導入ohos.app.ability.UIAbility模塊。

    import UIAbility from '@ohos.app.ability.UIAbility';
    
  2. 在module.json5中新增[linkFeature]屬性并設置聲明當前應用支持的特性功能,從而系統可以從設備已安裝應用中找到當前支持該特性的應用。
    配置示例:

    {
    "abilities": [
        {
        "skills": [
            {
            "uris": [
                {
                "scheme": "maps", // 這里僅示意,應用需確保這里聲明的的uri能被外部正常拉起
                "host": "navigation",
                "path": "",
                "linkFeature": "navigation" // 聲明應用支持導航功能
                },
                {
                "scheme": "maps", // 這里僅示意,應用需確保這里聲明的的uri能被外部正常拉起
                "host": "routePlan",
                "path": "",
                "linkFeature": "routePlan" // 聲明應用支持路線規劃功能
                },
                {
                "scheme": "maps", // 這里僅示意,應用需確保這里聲明的的uri能被外部正常拉起
                "host": "search",
                "path": "",
                "linkFeature": "textSearch" // 聲明應用支持位置搜索功能
                }
            ]
            }
        ]
        }
    ]
    }
    
  3. 解析參數并做對應處理。

    UIAbility::onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void
    

    在參數want.parameters中會攜帶Caller方傳入的參數(與調用方傳入的有些差異),如下表所示:

    屬性名稱含義數據類型是否缺省
    destinationLatitude終點緯度GCJ-02numbersceneType=1或2時不可缺省
    destinationLongitude終點經度GCJ-02numbersceneType=1或2時不可缺省
    destinationName終點名稱stringsceneType=3時不可缺省
    originName起點名稱string可缺省,存在時可用于展示路線規劃頁面
    originLatitude起點緯度GCJ-02number可缺省,存在時可用于展示路線規劃頁面
    originLongitude起點經度GCJ-02number可缺省,存在時可用于展示路線規劃頁面
    vehicleType交通出行工具:0:駕車 1:步行 2:騎行 3:公交(路線規劃場景有效)number可缺省,缺省時由應用自行處理

    應用可根據[linkFeature]中定義的特性功能,比如路線規劃和導航結合接收到的參數開發不同的樣式頁面。

示例:

import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import hilog from '@ohos.hilog';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import window from '@ohos.window';

let destinationLatitude:number;
let destinationLongitude:number;
let originLatitude:number | undefined;
let originLongitude:number | undefined;

export default class EntryAbility extends UIAbility {
    onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
        hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
        
        destinationLatitude = want.parameters?.destinationLatitude as number;
        destinationLongitude = want.parameters?.destinationLongitude as number;
        originLatitude = want.parameters?.originLatitude as number | undefined;
        originLongitude = want.parameters?.originLongitude as number | undefined;
    }

    onWindowStageCreate(windowStage: window.WindowStage) {
        hilog.info(0x0000, 'testTag', '%{public}s', `Ability onWindowStageCreate: ${JSON.stringify(this.context)}`);

        const storage: LocalStorage = new LocalStorage({
            "destinationLatitude": destinationLatitude,
            "destinationLongitude": destinationLongitude,
            "originLatitude": originLatitude,
            "originLongitude": originLongitude
        } as Record< string, object >);
        
        if(originLatitude !== undefined && originLongitude !== undefined) {
            windowStage.loadContent('pages/IndexForNavigation', storage);
        } else {
            windowStage.loadContent('pages/IndexForRoutePlan', storage);
        }
    }
}

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8516

    瀏覽量

    150856
  • 鴻蒙
    +關注

    關注

    57

    文章

    2320

    瀏覽量

    42748
收藏 人收藏

    評論

    相關推薦

    深圳市24年,實現鴻蒙原生應用數占全國總量10%以上

    不吹不捧,鴻蒙自從24年的星河版發布會之后。純血鴻蒙已經開啟大規模的行動,首批 200 + 鴻蒙原生應用已經在加速開發,先鋒域齊備,覆蓋便
    發表于 03-04 21:42

    激光準儀的原理是什么?

    激光準儀是在光學準系統的基礎上添加 2 只半導體激光器,其中之一通過準望遠鏡將激光束發射出來。
    發表于 09-17 09:01

    鴻蒙應用開發基礎術語學習 輕應用

    開發者可以通過鴻蒙輕應用,通過點擊關鍵詞解鎖詳細解釋的方式,方便快速第了解鴻蒙的基礎術語。可以獨立作為一個應用發展,也可以作為各種應用中的一
    發表于 05-19 18:33

    鴻蒙分布式任務調度

    鴻蒙分布式任務調度,實現跨設備FA拉起
    發表于 06-12 17:28

    鴻蒙智聯HarmonyOS Connect原子化服務拉起方式與開發整體流程

    一、拉起方式用戶可以通過手機碰一碰、靠近發現等方式,快速拉起手機上的原子化服務,實現HarmonyOS Connect設備的連接和控制。三種拉起方式的簡介參見下表。二、應用場景設備連接
    發表于 02-01 15:34

    鴻蒙 OS 應用開發初體驗

    kotlin 語言了,編程語言變成了 JavaScript 的前端語言,這意味著我們需要適應用前端的思想去開發鴻蒙應用,比如狀態管理。 總結 本文純初體驗遙遙領先背后的鴻蒙操作系統
    發表于 11-02 19:38

    鴻蒙系統是基于什么開發

    設備,開發者在上面開發應用相對來說也會更簡單一些。 華為鴻蒙系統采用開源的方式,源代碼已經在官方公布的網站掛出。根據其源代碼來看,內核基于C語言開發,部分功能模塊
    的頭像 發表于 07-01 16:43 ?1.6w次閱讀

    鴻蒙系統是基于什么開發

    爭議,那么鴻蒙系統到底是基于什么開發的呢?下面小編就為大家帶來鴻蒙系統是基于什么開發的答案。 鴻蒙系統是基于什么
    的頭像 發表于 07-05 17:12 ?1.2w次閱讀

    開發鴻蒙開發者使用的自定義滾輪控件

    該三方開源庫從github fork過來,主要將底層接口調用的實現修改成鴻蒙接口的實現,將三方庫鴻蒙化,供開發鴻蒙應用的開發者使用。 一個自
    發表于 03-30 11:38 ?0次下載

    百度離線計算系統的演進過程 百度離線計算系統的設計與實現

    本文以百度離線計算系統的演進方向為主線,詳細描述搜索離線計算系統發展過程中遇到的問題,以及對應的解決方案。架構演進過程中一直奉行“沒有最好的架構,只有最合適的架構”的宗旨,面對
    的頭像 發表于 09-01 14:51 ?458次閱讀
    百度<b class='flag-5'>垂</b><b class='flag-5'>類</b>離線計算系統的演進過程 百度<b class='flag-5'>垂</b><b class='flag-5'>類</b>離線計算系統的設計與實現

    導線弧大小標準如何定?輸電線路弧監測裝置檢測弧超簡單!

    今天,風河智能帶大家來了解輸電線路導線弧大小的標準以及弧在線監測裝置的使用方法。 引言:架空輸電線路是一種常見的輸電方式,利用桿塔將導線架設于高空,線路長達幾百上千公里,導線懸掛在立桿之間會產生
    的頭像 發表于 01-12 09:14 ?1670次閱讀

    輸電線路弧變化的原因及弧在線監測裝置的工作原理

    導線弧變大可能會導致導線之間相互碰撞、線下安全距離不夠等,進而引發短路或安全事故,鼎信輸電線路弧在線監測裝置DX-WPS100-HC是一種高科技弧監測設備,通過安裝在導線上的弧
    的頭像 發表于 01-17 09:19 ?1350次閱讀

    鴻蒙開發用什么語言?

    Java的,從API8開始,只能用Arkts,js或著C++開發了,我們這篇文章重點講下應用級別的開發鴻蒙應用開發 和安卓應用和IOS應用開發
    的頭像 發表于 01-30 16:12 ?1499次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>用什么語言?

    使用 Taro 開發鴻蒙原生應用 —— 快速上手,鴻蒙應用開發指南

    隨著鴻蒙系統的不斷完善,許多應用廠商都希望將自己的應用移植到鴻蒙平臺上。最近,Taro 發布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發鴻蒙原生應用,也可將現有的
    的頭像 發表于 02-02 16:09 ?826次閱讀
    使用 Taro <b class='flag-5'>開發</b><b class='flag-5'>鴻蒙</b>原生應用 —— 快速上手,<b class='flag-5'>鴻蒙</b>應用<b class='flag-5'>開發</b>指南

    鴻蒙APP開發實戰:【Api9】拍照、拍視頻;選擇圖片、視頻、文件工具

    鴻蒙開發過程中,經常會進行系統調用,拍照、拍視頻、選擇圖庫圖片、選擇圖庫視頻、選擇文件。今天就給大家分享一個工具
    的頭像 發表于 03-26 16:27 ?726次閱讀
    <b class='flag-5'>鴻蒙</b>APP<b class='flag-5'>開發</b>實戰:【Api9】拍照、拍視頻;選擇圖片、視頻、文件工具<b class='flag-5'>類</b>