日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

OpenHarmony如何啟動FA(本地和遠程)

ArkUI詳解 ? 來源:鴻蒙實驗室 ? 作者:鴻蒙實驗室 ? 2022-07-02 13:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,今天我們來一起學習分布式相關(guān)的內(nèi)容,其實對于分布式任務(wù)調(diào)度,就是對數(shù)據(jù)管理的另一種形式

啟動本地設(shè)備FA

首先創(chuàng)建一個項目

如圖所示:

poYBAGK_2nSAJIoQAAH2eQ8Zgm0872.png

點擊finish即可

然后我們接下來先進行一些基礎(chǔ)設(shè)置

我們要在DAYU200開發(fā)板上運行這個實例,所以要做一個簽名設(shè)置

點擊File--- Project Struct,

pYYBAGK_2naAM15EAAHq13OeHQc987.png

然后點擊Signing Configs 完成簽名設(shè)置

poYBAGK_2nmACjC0AAJyAsgyAZE630.png

點擊ok就會完成自動簽名。到了這兒,我們的第一步也算是完成了,接下來我們看一下下一步如何操作

回到我們今天的主題,我們是要啟動本地的另一個FA,但是目前只有一個,所以我們這個時候需要再創(chuàng)建一個

在entry模塊依次點擊New-Ability-PageAbility,就可以創(chuàng)建另一個FA,我們命名為SecondAbility

pYYBAGK_2n6AZZmeAAUQUCXfP7g810.png

poYBAGK_2n-AS2SEAADeHNUv5zc606.png

如下圖所示,我們已經(jīng)創(chuàng)建成功

pYYBAGK_2oCAb44AAAEIV_W2xw0369.png

修改SecondAbility中的默認message

@State message: string = 'SecondAbility'

?

到這兒我們的第二步就算完成了

由于我們啟動的是本地的FA,后邊為了區(qū)別啟動遠程FA,所以我們需要對文件進行一個重命名,這樣方便我們認識。

我們點擊MainAbility‘中的index.ets,右擊進行重命名

poYBAGK_2oGAAHjzAACNUJNy1Q4451.png

完成以上的步驟,編輯器會幫助我們對onfig.json中對項目進行重構(gòu)

{

"app"

: {

"vendor"

:

"example"

,

"bundleName"

:

"com.jianguo.openharmony"

,

"version"

: {

"code"

:

1000000

,

"name"

:

"1.0.0"

}

},

"deviceConfig"

: {},

"module"

: {

"mainAbility"

:

".MainAbility"

,

"deviceType"

: [

"phone"

,

"tablet"

],

"abilities"

: [

{

"skills"

: [

{

"entities"

: [

"entity.system.home"

],

"actions"

: [

"action.system.home"

]

}

],

"orientation"

:

"unspecified"

,

"visible"

:

true

,

"srcPath"

:

"MainAbility"

,

"name"

:

".MainAbility"

,

"srcLanguage"

:

"ets"

,

"icon"

:

"$media:icon"

,

"description"

:

"$string:MainAbility_desc"

,

"formsEnabled"

:

false

,

"label"

:

"$string:MainAbility_label"

,

"type"

:

"page"

,

"launchType"

:

"standard"

},

{

"orientation"

:

"unspecified"

,

"srcPath"

:

"SecondAbility"

,

"name"

:

".SecondAbility"

,

"srcLanguage"

:

"ets"

,

"icon"

:

"$media:icon"

,

"description"

:

"$string:SecondAbility_desc"

,

"formsEnabled"

:

false

,

"label"

:

"$string:SecondAbility_label"

,

"type"

:

"page"

,

"launchType"

:

"standard"

}

],

"distro"

: {

"moduleType"

:

"entry"

,

"installationFree"

:

false

,

"deliveryWithInstall"

:

true

,

"moduleName"

:

"entry"

},

"package"

:

"com.example.entry"

,

"srcPath"

:

""

,

"name"

:

".entry"

,

"js"

: [

{

"mode"

: {

"syntax"

:

"ets"

,

"type"

:

"pageAbility"

},

"pages"

: [

"pages/start_local_fa"

],

"name"

:

".MainAbility"

,

"window"

: {

"designWidth"

:

720

,

"autoDesignWidth"

:

false

}

},

{

"mode"

: {

"syntax"

:

"ets"

,

"type"

:

"pageAbility"

},

"pages"

: [

"pages/index"

],

"name"

:

".SecondAbility"

,

"window"

: {

"designWidth"

:

720

,

"autoDesignWidth"

:

false

}

}

]

}

}

接下來我們就看一下最關(guān)鍵的一步,如何啟動本地FA

我們可以利用一個button按鈕來對其進行跳操作

最主要的就是onclick里面的事件

如下圖所示:

使用的時候注意導入包:

import featureAbiltty from '@ohos.ability.featureAbility'

featureAbiltty.startAbility({

want:

{

//設(shè)備Id,本機默認為空

deviceId:"",

//app名稱,在config.json的bundleName

bundleName:"com.jianguo.openharmony",

//頁面名稱,注意包名

abilityName:"com.example.entry.SecondAbility"

?

?

}

然后我對上面的

deviceId:進行說明本機默認為空,

bundleName:在config.json的bundleName

abilityName:頁面名稱,注意包名

pYYBAGK_2oKABSuCAACnuqAvp5U058.png

然后我們在DATU20運行

發(fā)現(xiàn)可以跳轉(zhuǎn),那么我們就實現(xiàn)了這個功能

跨設(shè)備啟動FAs

接下來我們看一下如何啟動遠程的deviceId

在這之前,我們需要做的事就是,在config.json配置權(quán)限

非敏感權(quán)限在這兒定義就好,如果是敏感權(quán)限,就要在運行時發(fā)送彈窗的形式去處理。

"reqPermissions": [

{

"name": "ohos.permission.DISTRIBUTED_DATASYNC"

}

]

poYBAGK_2oOAef7iAACDFjmNyYs309.png

遠程啟動注意點:

權(quán)限deviceId

動態(tài)申請權(quán)限

//設(shè)備管理器

import deviceMAnager from'@ohos.distributedHardware.deviceManager'

import featureAbilty from '@ohos.ability.featureAbility'

//設(shè)備管理器

import deviceMAnager from '@ohos.distributedHardware.deviceManager'

//遠端app信息

import bundle from '@ohos.bundle';

import abilityAccessCtrl from '@ohos.abilityAccessCtrl';

?

//動態(tài)申請權(quán)限,彈窗的形式,可以通用,注意修改兩個地方,一個是包名,一個是權(quán)限列表

async function requestPermision() {

let array: Array = ["ohos.permission.DISTRIBUTED_DATASYNC"]

?

const appInfo = await bundle.getApplicationInfo("com.jianguo.openharmony", 0, 100)

let tolenId = appInfo.accessTokenId;

const atManger = abilityAccessCtrl.createAtManager();

let requestPressions: Array = []

//遍歷權(quán)限是否通過

for (let i = 0;i < array.length; i++) {

let result = await atManger.verifyAccessToken(tolenId, array[i]);

if (result != abilityAccessCtrl.GrantStatus.PERMISSION_DENIED) {

requestPressions.push(array[i]);

}

}

if (requestPressions.length == 0 || requestPressions == []) {

return;

?

}

?

let context = featureAbilty.getContext();

context.requestPermissionsFromUser(requestPressions, 1, (data) => {

?

console.info("XXXXXX data" + JSON.stringify(data))

})

}

?

@Entry

@Component

struct Index {

@State message: string = 'MainAbility'

?

aboutToAppear() {

//頁面即將顯示的時候處理,運行時發(fā)送彈窗的形式去處理

requestPermision();

?

?

}

?

build() {

Row() {

Column() {

Text(this.message)

.fontSize(50)

.fontWeight(FontWeight.Bold)

Button("跳轉(zhuǎn)遠程SecondAbility", {

type: ButtonType.Capsule

}).backgroundColor(Color.Orange).onClick((event: ClickEvent) => {

?

?

deviceMAnager.createDeviceManager("com.jianguo.openharmony", (err, value) => {

?

?

if (!err) {

let devManager = value;

//同步方式獲得可信任列表

let deviceList = devManager.getTrustedDeviceListSync();

featureAbilty.startAbility({

want:

{

//設(shè)備Id,本機默認為空,這里只有兩臺設(shè)備,所以用數(shù)組[0]表示

deviceId: deviceList[0].deviceId,

//app名稱,在config.json的bundleName

bundleName: "com.jianguo.openharmony",

//頁面名稱,注意包名

abilityName: "com.example.entry.SecondAbility"

?

?

}

}).then((value) => {

?

console.log("Succes Data" + JSON.stringify(value))

}).catch((error) => {

console.log("failed Data" + JSON.stringify(error))

})

}

})

?

?

}).width(199)

}

.width('100%')

}

.height('100%')

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2157

    瀏覽量

    36323
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3977

    瀏覽量

    21386
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Git命令之本地分支與遠程分支關(guān)聯(lián)和解除

    在實際的工作生活中,往往需要將本地的分支和遠程分支關(guān)聯(lián),這樣我們就可以使用git pull命令來更新拉取最新的代碼,并使用git push命令將自己本地的修改推送到遠程倉庫。但是如果此
    的頭像 發(fā)表于 12-15 09:27 ?5274次閱讀
    Git命令之<b class='flag-5'>本地</b>分支與<b class='flag-5'>遠程</b>分支關(guān)聯(lián)和解除

    Stage模型啟動FA模型PageAbility方法

    Stage模型啟動FA模型PageAbility 本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動FA模型的PageAbility組件。 UIAbility
    發(fā)表于 06-04 06:36

    本地LabVIEW訪問遠程mysql

    之前只做過LabVIEW對本地計算機ACCESS和SQL SERVER的訪問,使用的是LabSQL工具,OLEDB方式,不創(chuàng)建DSN,直接寫入連接字符串然后SQL語句對本地數(shù)據(jù)庫進行操作,對遠程
    發(fā)表于 12-15 14:38

    HarmonyOS教程一基于分布式調(diào)度的能力,實現(xiàn)遠程FA啟動

    1. 介紹開發(fā)者在應(yīng)用中集成分布式調(diào)度能力,通過調(diào)用指定能力的分布式接口,實現(xiàn)跨設(shè)備能力調(diào)度。根據(jù)Ability模板及意圖的不同,分布式任務(wù)調(diào)度向開發(fā)者提供六種能力:啟動遠程FA(Feature
    發(fā)表于 09-10 10:07

    OpenHarmony JS在啟動DevEco Studio的遠程模擬器時,出現(xiàn)HDC異常怎么解決

    最近在研究OpenHarmony的JS應(yīng)用開發(fā),在調(diào)試應(yīng)用時,在啟動DevEco Studio的遠程模擬器時,出現(xiàn)HDC異常問題;然而SDK中的toolchains目錄下面擁有hdc程序
    發(fā)表于 04-08 11:27

    DevEco Studio中的真機無法啟動遠程FA怎么解決?

    根據(jù)Codelabs中的“( 基于分布式調(diào)度啟動遠程FA )”實驗,在DevEcoStudio中的遠程模擬器中可正常啟動另一臺手機中的
    發(fā)表于 05-09 11:58

    OpenHarmony開發(fā)之Ability架構(gòu)

    的線程。每個Ability綁定一個獨立的JSRuntime實例,因此Ability之間是隔離的。相關(guān)實例針對Ability開發(fā),有以下相關(guān)實例可供參考:[分布式調(diào)度啟動遠程FA][分布式新聞客戶端
    發(fā)表于 05-12 15:12

    OpenHarmony3.1release連接服務(wù)失敗是為什么?怎么解決?

    (serviceAbility)可以正常連接;2、使用JS寫的本地service就無法正常連接測試過以下幾種情況,1、使用JS寫的FA上點擊按鈕連接本地service失??;2、使用JS寫的FA
    發(fā)表于 06-01 11:35

    請問openharmony應(yīng)用必須使用開發(fā)板才能運行嗎?

    openharmony應(yīng)用必須使用開發(fā)板才能運行嗎?本地模擬器或者遠程模擬器什么時候會出來?harmonyos真機以后會兼容openharmony應(yīng)用嗎?
    發(fā)表于 06-14 11:13

    OpenHarmony分布式調(diào)度啟動遠程FA之路

    1.介紹OpenHarmony提供了分布式能力,能夠?qū)崿F(xiàn)在同一網(wǎng)絡(luò)下對遠程設(shè)備Ability的拉起。本篇Codelab,我們將一起開啟OpenHarmony分布式調(diào)度啟動
    發(fā)表于 07-26 14:59

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-FA卡片開發(fā)體驗

    :HarmonyOSOpenHarmony應(yīng)用開發(fā)-FA卡片開發(fā)體驗.docx示例代碼:https://gitee.com/jltfcloudcn/jump_to/tree/master/FA
    發(fā)表于 12-06 14:48

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-FA模型綜述

    /documentation/doc-guides/fa-brief-0000001333640861*附件:HarmonyOSOpenHarmony應(yīng)用開發(fā)-FA模型綜述.docx
    發(fā)表于 12-07 10:39

    鴻蒙開發(fā):啟動本地PageAbility

    PageAbility相關(guān)的能力通過featureAbility提供,啟動本地Ability通過featureAbility中的startAbility接口實現(xiàn)。
    的頭像 發(fā)表于 06-18 09:29 ?905次閱讀
    鴻蒙開發(fā):<b class='flag-5'>啟動</b><b class='flag-5'>本地</b>PageAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型啟動Stage模型UIAbility

    本文介紹FA模型的三種應(yīng)用組件如何啟動Stage模型的UIAbility組件。
    的頭像 發(fā)表于 06-25 16:00 ?1143次閱讀
    鴻蒙開發(fā)Ability Kit程序框架服務(wù):<b class='flag-5'>FA</b>模型<b class='flag-5'>啟動</b>Stage模型UIAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):Stage模型啟動FA模型PageAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動FA模型的PageAbility組件。
    的頭像 發(fā)表于 06-26 09:50 ?1146次閱讀
    鴻蒙開發(fā)Ability Kit程序框架服務(wù):Stage模型<b class='flag-5'>啟動</b><b class='flag-5'>FA</b>模型PageAbility
    甘泉县| 武宣县| 沅江市| 凌海市| 庆元县| 孟连| 鹤岗市| 巴林右旗| 稻城县| 崇文区| 龙山县| 弥勒县| 酒泉市| 咸丰县| 黔南| 建瓯市| 新乡县| 会宁县| 镇远县| 明光市| 湟源县| 天津市| 武安市| 蒲城县| 南部县| 盱眙县| 平南县| 井研县| 舟山市| 大同县| 鄱阳县| 华亭县| 青海省| 印江| 会理县| 中宁县| 南汇区| 曲麻莱县| 赞皇县| 东宁县| 开平市|