【每日學點鴻蒙知識】廣告ID、NFC手機充值、CSS支持語法、PC與模擬器交互、SO熱更新等

1、HamonyOS 樣機獲取成功返回Oaid為00000000-0000-0000-0000-000000000000?

請求授權時需要觸發動態授權彈窗,看一下是不是沒有觸發授權彈窗。
可以參考以下代碼以及文檔:

// ets
import identifier from '@ohos.identifier.oaid';
import hilog from '@ohos.hilog';
import { BusinessError } from '@ohos.base';
import abilityAccessCtrl from '@ohos.abilityAccessCtrl';
import common from '@ohos.app.ability.common';@Entry
@Component
struct deviceDemo001 {build() {Column() {Text('測試').width('100%').backgroundColor('#131313').height(50).fontColor(Color.White).onClick(()=>{const atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();try {let context = getContext(this) as common.UIAbilityContext;atManager.requestPermissionsFromUser(context, ["ohos.permission.APP_TRACKING_CONSENT"]).then((data) => {if (data.authResults[0] == 0) {identifier.getOAID((err: BusinessError, data: string) => {if (err.code) {hilog.error(0x0000, 'testTag', '%{public}s', `get oaid failed, error: ${err.code} ${err.message}`);} else {const oaid: string = data;}});} else {}}).catch((err: BusinessError) => {})} catch(err) {}})}}
}

參考文檔:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/oaid-service-V5

開放匿名設備標識符(Open Anonymous Device Identifier, OAID,以下簡稱OAID):是一種非永久性設備標識符,基于開放匿名設備標識符,可在保護用戶個人數據隱私安全的前提下,向用戶提供個性化廣告,同時三方監測平臺也可以向廣告主提供轉化歸因分析。

媒體App、廣告平臺、三方監測平臺等開發者,可獲取設備上的OAID,您可基于OAID進行個性化廣告推薦或廣告轉化歸因分析。

OAID是基于華為自有算法生成的32位類UUID(Universally Unique Identifier)標識符,格式為xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。
OAID的特性:

  • OAID是設備級標識符,同一臺設備上不同的App獲取到的OAID值一樣。
  • OAID的獲取受應用的“跨應用關聯訪問權限”開關影響:當應用的“跨應用關聯訪問權限”開關開啟時,該應用可獲取到非全0的有效OAID;當應用的“跨應用關聯訪問權限”開關關閉時,該應用僅能獲取到全0的OAID。
  • 同一臺設備上首個應用開啟應用“跨應用關聯訪問權限”開關時,會首次生成OAID。

2、HarmonyOS 如何實現通過NFC實現手機給卡充值的功能?

需要的能力是使用NFC適配器建立連接,發送數據和接收數據,對應的業務場景就是使用NFC天線對公交進行充值,NFC讀寫CPU卡的部分,ISO-14443-4協議規范

標準NFC-Tag tag.TagInfo demo:

import tag from '@ohos.nfc.tag';
import UIAbility from '@ohos.app.ability.UIAbility';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want'export default class EntryAbility extends UIAbility {onCreate(want : Want, launchParam: AbilityConstant.LaunchParam) {// add other code here...// want is initialized by nfc service, contains tag info for this found taglet tagInfo : tag.TagInfo | null = null;try {tagInfo = tag.getTagInfo(want);} catch (error) {console.error("tag.getTagInfo catched error: " + error);}if (tagInfo == null || tagInfo == undefined) {console.log("no TagInfo to be created, ignore it.");return;}// get the supported technologies for this found tag.let isNfcATag = false;let isIsoDepTag = false;for (let i = 0; i < tagInfo.technology.length; i++) {if (tagInfo.technology[i] == tag.NFC_A) {isNfcATag = true;}if (tagInfo.technology[i] == tag.ISO_DEP) {isIsoDepTag = true;}// also check for technology: tag.NFC_B/NFC_F/NFC_V/NDEF/MIFARE_CLASSIC/MIFARE_ULTRALIGHT/NDEF_FORMATABLE}// use NfcA APIs to access the found tag.if (isNfcATag) {let nfcA : tag.NfcATag | null = null;try {nfcA = tag.getNfcATag(tagInfo);} catch (error) {console.error("tag.getNfcATag catched error: " + error);}// other code to read or write this found tag.}// use getIsoDep APIs to access the found tag.if (isIsoDepTag) {let isoDep : tag.IsoDepTag | null = null;try {isoDep = tag.getIsoDep(tagInfo);} catch (error) {console.error("tag.getIsoDep catched error: " + error);}// other code to read or write this found tag.}// use the same code to handle for "NfcA/NfcB/NfcF/NfcV/Ndef/MifareClassic/MifareUL/NdefFormatable".}
}

3、HarmonyOS css 部分語法會被標紅報錯?

文件是web應用打包之后的css文件

因為目前IDE本身僅支持最基本的那部分CSS語法,所以在項目打開會看見報錯標紅,經過測試雖然會報錯,但是不影響app的正常使用。

目前css支持的語法可以參考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/js-framework-syntax-css-V5

4、如何將pc系統剪切板里的內容粘貼到模擬器?

  1. 總體思路通過在模擬器中訪問PC端web頁面的方式,來實現文本的復制粘貼。
  2. PC端開啟web服務器
    1. 如果有現成的web服務器,把需要復制的文本文件放到web服務器下即可。
    2. macOS自帶apache服務器(推薦)
      1. 啟用服務:mac命令行執行sudo apachectl start服務啟動后,使用PC瀏覽器訪問http://127.0.0.1,能訪問頁面看到"It works!",說明服務啟動成功。
      2. 修改需要復制的文本apache服務的文件根目錄位于/Library/WebServer/Documents新建test.html文件,內容為需要復制的文本,拷貝到/Library/WebServer/Documents即可,PC端訪問地址http://127.0.0.1/test
    3. windows可下載、運行nginx應用
      1. nginx文件根目錄位于nginx/html,默認首頁為index.html,修改文本內容即可

5、HarmonyOS 關于ArkTS及so熱更新問題的咨詢?

在Android中很多應用會有熱更的需求,一般有兩種方案:
一種是差分法,可以更新java代碼和so代碼以及一些資源文件;
另一種是通過hook的方式運行時加載包外的so。想詢問一下HarmonyOS下是否有類似的機制,特別是是否允許從包外加載so
主要是為了解決已經上架的包有部分bug不容易簡單修復,需要修改arkts或者C/C++代碼, 但又不希望整包更換的情景

基于HarmonyOS應用統一分發的生態規則,不提供補丁的快速熱修復功能,上述相關訴求,通過高效的上架審核和應用版本更新機制進行保障。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64678.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64678.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64678.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【YOLO 項目實戰】(12)紅外/可見光多模態目標檢測

歡迎關注『youcans動手學模型』系列 本專欄內容和資源同步到 GitHub/youcans 【YOLO 項目實戰】&#xff08;10&#xff09;YOLO8 環境配置與推理檢測 【YOLO 項目實戰】&#xff08;11&#xff09;YOLO8 數據集與模型訓練 【YOLO 項目實戰】&#xff08;12&#xff09;紅外/可…

logback日志框架源碼分析

目錄 (一)入口:slf4j選擇日志框架 (二)日志框架初始化 (1)logback的3種配置方式 a、BasicConfigurator默認配置 b、SPI方式配置的Configurator實現類 c、通過配置文件初始化 (2)xml配置文件初始化 (三)Logger的創建 (四)打印日志 本文源碼基于:logback版…

國產數據庫OceanBase從入門到放棄教程

1. 介紹 是由螞蟻集團&#xff08;Ant Group&#xff0c;原螞蟻金服&#xff09;自主研發的分布式關系型數據庫。它旨在解決海量數據存儲和高并發訪問的問題&#xff0c;特別適合金融級應用場景&#xff0c;如支付寶等對數據一致性、可靠性和性能有極高要求的服務。以下是關于…

連接Milvus

連接到Milvus 驗證Milvus服務器正在偵聽哪個本地端口。將容器名稱替換為您自己的名稱。 docker port milvus-standalone 19530/tcp docker port milvus-standalone 2379/tcp docker port milvus-standalone 192.168.1.242:9091/api/v1/health 使用瀏覽器訪問連接地址htt…

機器學習中的欠擬合

當模型不能夠準確地表達輸入與輸出的關系時&#xff0c;就是欠擬合。它在訓練集和未見過的數據都會產生高誤差率。過度擬合則在訓練集表現出低誤差率&#xff0c;只有對未見過的數據表現出高誤差率。 當模型太過于簡單時&#xff0c;它需要更多的訓練時間、更多的輸入特征、更…

安卓入門二 Kotlin基礎

Kotlin Kotlin的歷史 Kotlin由Jet Brains公司開發設計&#xff0c;2011年公布第一版&#xff0c;2012年開源。 2016年發布1.0正式版&#xff0c;并且Jet Brains在IDEA加入對Kotlin的支持&#xff0c;安卓自此又有新的選擇。 2019年谷歌宣布Kotlin成為安卓第一開發語言&#x…

淺談Cocos2djs逆向

前言 簡單聊一下cocos2djs手遊的逆向&#xff0c;有任何相關想法歡迎和我討論^^ 一些概念 列出一些個人認為比較有用的概念&#xff1a; Cocos遊戲的兩大開發工具分別是CocosCreator和CocosStudio&#xff0c;區別是前者是cocos2djs專用的開發工具&#xff0c;後者則是coco…

STM32驅動NRF24L01

一、NRF24L01的相關介紹 1.2 引腳的介紹 關于SPI的引腳就不再說了&#xff0c;這里介紹其余的兩個引腳&#xff1a; CE 模塊控制引腳&#xff1a;芯片開啟信號&#xff0c;激活RX或TX模式 IRQ 模塊中斷信號輸出引腳&#xff1a;其低電平有效&#xff0c;也就是中斷時變為低電平…

【Python】 glob批處理模塊的學習

1.什么是glob模塊&#xff1f; 在 Python 中&#xff0c;glob模塊是一個用于文件路徑名的模式匹配的工具。它使用簡單的通配符規則來匹配文件和目錄的路徑&#xff0c;這些通配符規則類似于在命令行中使用的文件搜索規則。這使得在處理文件系統中的多個文件或目錄時非常方便&am…

Android 系統 AlarmManager 系統層深度定制

Android 系統 AlarmManager 系統層深度定制 目錄 引言AlarmManager 概述AlarmManager 系統架構AlarmManager 核心代碼解讀AlarmManager 深度定制方法 修改 AlarmManagerService 修改定時任務調度策略增加定時任務類型定制內核層 修改定時觸發精度增加定時觸發類型優化定時任務…

解決vue-i18n在非.vue文件中,在其他js文件中無法使用的問題

其實很簡單&#xff0c;把i18n直接掛載到window上&#xff0c;全局可使用。下面請看詳細。 一、安裝 npm install vue-i18n9二、在vue的main.js中引入 import Vue from "vue" import VueI18n from vue-i18n Vue.use(VueI18n)//注入到所有的子組件&#xff0c;就是…

線性代數期末復習 [基礎篇]

關于第六點: AXB 在期末考試中一般A都是可逆的 我們可以先把A的逆求出來,X A ? 1 B A^-1B A?1B,或者 (A,B) -> r (E, A ? 1 B A^-1B A?1B) 如果A矩陣不可逆,轉變為方程組求解問題,假設都是二維矩陣 A(x1,x2) (b1,b2) Ax1 b1,Ax2 b2 XAB 如果A可逆,直接XB A ? 1 A^-…

C++ —— 數據類型轉換和數據類型的別名

數據類型轉換 引言自動類型轉換強制類型轉換數據類型的別名 引言 計算機進行運算時&#xff0c;要求各操作數的數據類型、大小和存儲方式都要相同。&#xff08;例如&#xff1a;8字節的整數和8字節的浮點數&#xff0c;雖然占用內存大小一樣&#xff0c;但是存儲方式不同&…

Kali 自動化換源腳本編寫與使用

1. 背景與需求 在使用 Kali Linux 的過程中&#xff0c;軟件源的配置對系統的更新與軟件安裝速度至關重要。 Kali 的默認官方源提供了安全且最新的軟件包&#xff0c;但有時由于網絡條件或地理位置的限制&#xff0c;使用官方源可能會出現速度較慢的問題。 為了解決這一問題&a…

設計模式-創建型-工廠方法模式

什么是工廠方法模式&#xff1f; 工廠方法模式&#xff08;Factory Method Pattern&#xff09;是 創建型設計模式之一&#xff0c;目的是通過定義一個用于創建對象的接口&#xff0c;讓子類決定實例化哪個類。簡而言之&#xff0c;工廠方法模式通過延遲對象的創建過程到子類來…

【Unity3D】ECS入門學習(十二)IJob、IJobFor、IJobParallelFor

IJob&#xff1a;開啟單個線程進行計算&#xff0c;線程內不允許對同一個數據進行操作&#xff0c;也就是如果你想用多個IJob分別計算&#xff0c;將其結果存儲到同一個NativeArray<int>數組是不允許的&#xff0c;所以不要這樣做&#xff0c;如下例子就是反面教材&#…

Spring 創建和管理 Bean 的原理,以及Spring 的單例模式是否線程安全?(有無狀態Bean)

Spring 是一個輕量級的開源框架&#xff0c;廣泛應用于 Java 企業級應用的開發。它提供了一個全面的、基于 IOC&#xff08;控制反轉&#xff09;和 AOP&#xff08;面向切面編程&#xff09;的容器&#xff0c;可以幫助開發者更好地管理應用程序中的對象。 Spring 創建和管理…

Docker容器鏡像制作

Docker鏡像的基本概念 1. 什么是Docker鏡像&#xff1f; Docker鏡像是一種輕量級、可執行的軟件包&#xff0c;包含運行某個應用所需的所有代碼、庫、依賴項和配置文件。它的形成是一種“打包”和“快照”過程&#xff0c;使得應用能夠在不同環境中保持一致的功能表現。 2. …

InfoNCE Loss詳解(上)

引言 InfoNCE對比學習損失是學習句嵌入繞不開的知識點&#xff0c;本文就從頭開始來探討一下它是怎么來的。 先驗知識 數學期望與大數定律 期望(expectation&#xff0c;expected value&#xff0c;數學期望&#xff0c;mathematical expectation)是隨機變量的平均值&#…

.Net加密與Java互通

.Net加密與Java互通 文章目錄 .Net加密與Java互通前言RSA生成私鑰和公鑰.net加密出數據傳給Java端采用java方給出的公鑰進行加密采用java方給出的私鑰進行解密 .net 解密來自Java端的數據 AES帶有向量的AES加密帶有向量的AES解密無向量AES加密無向量AES解密 SM2(國密)SM2加密Sm…