成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

鴻蒙FA智能家居NFC碰一碰應(yīng)用

系統(tǒng)
鴻蒙FA“NFC碰一碰”主要是利用NFC“碰一碰”喚起鴻蒙FA應(yīng)用,根據(jù)NFC通信拿到的設(shè)備信息,然后登錄關(guān)聯(lián)華為賬號,進行配網(wǎng),配網(wǎng)成功后就可以實現(xiàn)遠程控制。

[[411007]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

隨著物聯(lián)網(wǎng)時代的到來,鴻蒙發(fā)展越來越好,萬物互聯(lián)的時代即將到來。接下來將會講講我接觸鴻蒙FA開發(fā)。

鴻蒙FA“NFC碰一碰”主要是利用NFC“碰一碰”喚起鴻蒙FA應(yīng)用,根據(jù)NFC通信拿到的設(shè)備信息,然后登錄關(guān)聯(lián)華為賬號,進行配網(wǎng),配網(wǎng)成功后就可以實現(xiàn)遠程控制。

1、首先我們創(chuàng)建一個js的Ability,如圖顯示。

鴻蒙FA智能家居NFC碰一碰應(yīng)用-鴻蒙HarmonyOS技術(shù)社區(qū)

2、在entry的main->java包里的MainAbility的onStart和onNewIntent獲取碰一碰的設(shè)備信息。代碼如下:

  1. @Override 
  2.    public void onStart(Intent intent) { 
  3.        intent.setParam("window_modal",3); 
  4.        HmsBridge.getInstance().initBridge(this); 
  5.        // 獲取sn和sessionId 
  6.        String nanSessionId = intent.getStringParam("nanSessionId"); 
  7.        // 注冊配網(wǎng)har包 
  8.        NetConfigAbility.register(this, nanSessionId); 
  9.        Object businessInfo = intent.getParams().getParam("businessInfo"); 
  10.        String sn = ""
  11.        if (businessInfo != null) { 
  12.            ZSONObject businessInfoZson = ZSONObject.classToZSON(businessInfo); 
  13.            sn = businessInfoZson.getZSONObject("params").getString(""); 
  14.        } 
  15.        super.onStart(intent); 
  16.    } 
  1. @Override 
  2.   // Fa正在運行,又重新掃一次 
  3.   public void onNewIntent(Intent intent) { 
  4.       // 獲取sn和sessionId 
  5.       String nanSessionId = intent.getStringParam("nanSessionId"); 
  6.       Object businessInfo = intent.getParams().getParam("businessInfo"); 
  7.       String sn = ""
  8.       if (businessInfo != null) { 
  9.           ZSONObject businessInfoZson = ZSONObject.classToZSON(businessInfo); 
  10.           sn = businessInfoZson.getZSONObject("params").getString(""); 
  11.       } 
  12.  } 

3、關(guān)聯(lián)華為賬號,華為授權(quán)登錄流程圖如下。

鴻蒙FA智能家居NFC碰一碰應(yīng)用-鴻蒙HarmonyOS技術(shù)社區(qū)
  1. 下面是華為的登錄授權(quán)接口和退出接口。 
  2. // -------------------華為授權(quán)登錄---------------------- 
  3. 引入鴻蒙sdk 
  4. import {HuaweiIdAuthParamsHelper, HuaweiIdAuthManager, OPENID, PROFILE, GAMES, Scope} from '@hmscore/hms-js-account' 
  5.  
  6.     signIn: function () { 
  7.         var that = this 
  8.         // 新增scopeList 
  9.         var scopeList = new Array(); 
  10.         scopeList.push(OPENID); 
  11.         scopeList.push(PROFILE); 
  12.         var healthbehavior = new Scope("https://www.huawei.com/healthkit/extend/healthbehavior.read"); 
  13.         var hearthealthsleep = new Scope("https://www.huawei.com/healthkit/extend/hearthealthsleep.read"); 
  14.         var fatreduction = new Scope("https://www.huawei.com/healthkit/extend/fatreduction.read"); 
  15.         var sport = new Scope("https://www.huawei.com/healthkit/extend/sport.read"); 
  16.         scopeList.push(healthbehavior); 
  17.         scopeList.push(hearthealthsleep); 
  18.         scopeList.push(fatreduction); 
  19.         scopeList.push(sport); 
  20.  
  21.         var opencloud = new Scope("https://www.huawei.com/auth/smarthome/opencloud"); 
  22.         scopeList.push(opencloud); 
  23.  
  24.         var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setMobileNumber().setAuthorizationCode().setScopeList(scopeList).build(); 
  25.         console.error(JSON.stringify(signInOption)); 
  26.         HuaweiIdAuthManager.getAuthApi().getSignInIntent(signInOption).then((result)=>{ 
  27.  
  28.             var authCode = result.serverAuthCode; 
  29.             var accessToken = result.accessToken; 
  30.             var unionId = result.unionId; 
  31.         }).catch((error)=>{ 
  32.  
  33.         }); 
  34.     }, 
  35.     signOut: function () { 
  36.         HuaweiIdAuthManager.getAuthApi().signOut().then((result)=>{ 
  37.     
  38.         }).catch((error) => { 
  39.             console.error("signout fail"); 
  40.         }); 
  41.     }, 

4、關(guān)聯(lián)華為賬號后,開始配網(wǎng)了,主要是NAN和AP配網(wǎng):

在第二步驟獲取的nanSessionId,如果不是NAN_DEVICE_NOT_FOUND,那么可以走NAN配網(wǎng)流程,否則走Ap配網(wǎng)。具體配網(wǎng)步驟如下:

引入華為的配網(wǎng)模塊。

 

NAN配網(wǎng)

  1. 操作設(shè)備上配網(wǎng)鍵讓設(shè)備進入配網(wǎng)模式
  2. 手機碰一碰設(shè)備上的NFC標(biāo)簽,拉起輕應(yīng)用
  3. 選擇配網(wǎng)wifi
  4. 調(diào)用 discoveryByNAN接口 code為0
  5. 調(diào)用 connectDevice接口 連接設(shè)備
  6. 調(diào)用 configDeviceNet接口 開始配網(wǎng)
  7. 調(diào)用 disconnectDevice接口 斷開網(wǎng)絡(luò)
  8. 調(diào)用檢測設(shè)備是否上線接口
  9. 檢測到設(shè)備上線,調(diào)用綁定設(shè)備接口

AP配網(wǎng)

  1. 操作設(shè)備上配網(wǎng)鍵讓設(shè)備進入配網(wǎng)模式
  2. 手機碰一碰設(shè)備上的NFC標(biāo)簽,拉起輕應(yīng)用
  3. 選擇配網(wǎng)wifi
  4. 調(diào)用 discoveryByNAN接口 code不為0
  5. 調(diào)用 discoveryBySoftAp接口 搜索當(dāng)前設(shè)備的ap,搜索不到的話嘗試直接去連接ap
  6. 調(diào)用 connectDevice接口 連接設(shè)備
  7. 調(diào)用 configDeviceNet接口 開始配網(wǎng)
  8. 調(diào)用 disconnectDevice接口 斷開網(wǎng)絡(luò)
  9. 調(diào)用檢測設(shè)備是否上線接口
  10. 檢測到設(shè)備上線,調(diào)用綁定設(shè)備接口

5、配完成功后就可以跳到設(shè)備控制頁進行一些列的設(shè)備操控了。

6、過程運到的一些問題如下以及解決方案:

EMUI的版本下,如果串行顯示多個彈窗的操作或者別的渲染時,會白屏?

  1. 解決方法是讓某個視圖稍微延時渲染。 

EMUI的版本下,有時如果界面渲染情況復(fù)雜,會出現(xiàn)某個div顯示與否,在使用if來控制顯示的時候,可能會出現(xiàn)白屏。

  1. 這種情況使用div的屬性show會解決這個問題,用if的時候會改變渲染樹的結(jié)構(gòu),使用show避免這個問題。 

在使用畫布的時候,如果數(shù)據(jù)發(fā)生改變重繪制時,會出數(shù)據(jù)重繪錯亂。

  1. 需要先清除繪制,然后在進行繪制 

在Ide升級到 Build Version: 2.1.0.501以上,在適配compileSdkVersion和compatibleSdkVersion版本時,不需要在config.js里設(shè)置了,config.js設(shè)置無效,得在build.grade里設(shè)置適配的版本好了。

以上主要是我們團隊在開發(fā)鴻蒙FA智能家居NFC碰一碰應(yīng)用時的一些問題和見解。

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com

 

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2022-12-23 20:46:37

遙控器應(yīng)用鴻蒙

2022-01-17 14:51:20

鴻蒙HarmonyOS應(yīng)用

2021-12-28 16:10:20

鴻蒙HarmonyOS應(yīng)用

2022-05-19 15:47:24

碰一碰連接設(shè)備開發(fā)鴻蒙

2022-05-17 10:33:58

設(shè)備開發(fā)鴻蒙操作系統(tǒng)

2021-02-23 19:24:51

數(shù)字人民幣碰一碰支付

2023-02-03 16:31:33

2021-03-20 22:11:16

數(shù)字人民幣數(shù)字貨幣區(qū)塊鏈
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲免费在线视频 | 亚洲一区二区视频 | 亚洲九色 | 精品一区二区三区四区 | 在线视频91 | 成人免费精品视频 | 国产精品视频久久久 | 色男人的天堂 | 欧美日韩久久 | 久久久www成人免费无遮挡大片 | 日本超碰 | 欧美一级毛片久久99精品蜜桃 | 日韩不卡一区二区 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 久久精品美女 | 久久精品这里精品 | 99久久99| 羞羞的视频网站 | 午夜在线观看免费 | 久久亚 | 成年人国产在线观看 | 艹逼网| 亚洲一区二区免费看 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 毛片在线看片 | 国产欧美在线播放 | 亚洲福利在线观看 | 91看片官网| 成人在线小视频 | 欧美日韩黄色一级片 | 午夜视频在线免费观看 | 精品国产乱码久久久久久老虎 | 亚洲欧美在线一区 | 色啪网| 国产高清视频在线观看 | 欧美色综合 | 久久精品国产亚洲 | 一区欧美 | 亚洲一区二区久久 | 91久久久久久久 | 日本久久视频 |