harmony-utils之DeviceUtil,設(shè)備相關(guān)工具類
harmony-utils 簡介與說明
harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類,致力于助力開發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線程間通信、彈框、吐司、生物認(rèn)證、用戶首選項、拍照、相冊、掃碼、文件、日志、異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和作,能夠滿足各種不同的開發(fā)需求。
picker_utils 是harmony-utils拆分出來的一個子庫,包含 PickerUtil、PhotoHelper、ScanUtil。
下載安裝ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils
//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
API方法與使用
getDeviceId 獲取設(shè)備ID(卸載APP后依舊不變,需要權(quán)限:ohos.permission.STORE_PERSISTENT_DATA)
let id = DeviceUtil.getDeviceId();
DialogHelper.showToast(`當(dāng)前設(shè)備號為:${id}`);
deleteDeviceId 移除設(shè)備ID
DeviceUtil.deleteDeviceId();
ToastUtil.showToast("移除設(shè)備ID成功!")
getODID 獲取開發(fā)者匿名設(shè)備標(biāo)識符,ODID
let ODID = DeviceUtil.getODID();
DialogHelper.showToast(`開發(fā)者匿名設(shè)備標(biāo)識符為:${ODID}`);
getOAID 獲取開放匿名設(shè)備標(biāo)識符,OAID
PermissionUtil.requestPermissionsEasy("ohos.permission.APP_TRACKING_CONSENT").then(async (grant) = > {
if (grant) {
DeviceUtil.getOAID().then((id) = > {
ToastUtil.showToast("開放匿名設(shè)備標(biāo)識符位:" + id);
}).catch((err: BusinessError) = > {
ToastUtil.showToast(`開放匿名設(shè)備標(biāo)識符獲取失敗,${err.message}!`);
});
} else {
ToastUtil.showToast("您拒絕了權(quán)限!")
}
});
getAAID 獲取應(yīng)用匿名標(biāo)識符,AAID
let AAID = await DeviceUtil.getAAID();
DialogHelper.showToast(`AAID為:${AAID}`);
deleteAAID 刪除應(yīng)用匿名標(biāo)識符,AAID
DeviceUtil.deleteAAID();
getSerial 獲取設(shè)備序列號。說明:可作為設(shè)備唯一識別碼。示例:序列號隨設(shè)備差異。需要權(quán)限:ohos.permission.sec.ACCESS_UDID (目前只限系統(tǒng)應(yīng)用使用,不對三方應(yīng)用開放)
let str = DeviceUtil.getSerial();
getUdid 獲取設(shè)備Udid。需要權(quán)限:ohos.permission.sec.ACCESS_UDID (目前只限系統(tǒng)應(yīng)用使用,不對三方應(yīng)用開放)
let str = DeviceUtil.getUdid();
getBrand 獲取設(shè)備品牌名稱。示例:HUAWEI
let str = DeviceUtil.getBrand();
getProductModel 獲取認(rèn)證型號。示例:ALN-AL00
let str = DeviceUtil.getProductModel();
getBrandModel 獲取設(shè)備品牌名稱 認(rèn)證型號。示例:HUAWEI ALN-AL00
let str = DeviceUtil.getBrandModel();
getMarketName 獲取外部產(chǎn)品系列名稱。示例:HUAWEI Mate 60 Pro
let str = DeviceUtil.getMarketName();
getHardwareModel 獲取硬件版本號。示例:HL1CMSM
let str = DeviceUtil.getHardwareModel();
getManufacture 獲取設(shè)備廠家名稱。示例:HUAWEI
let str = DeviceUtil.getManufacture();
getOsFullName 獲取系統(tǒng)版本
let str = DeviceUtil.getOsFullName();
getDisplayVersion 獲取產(chǎn)品版本。示例:ALN-AL00 5.0.0.1(XXX)
let str = DeviceUtil.getDisplayVersion();
getBuildVersion 獲取Build版本號,標(biāo)識編譯構(gòu)建的版本號
let str = DeviceUtil.getBuildVersion();
getSdkApiVersion 獲取系統(tǒng)軟件API版本。示例:12
let str = DeviceUtil.getSdkApiVersion();
getOsVersion 獲取OS版本號(Major版本號,示例:5;Senior版本號,示例:0;Feature版本號,示例:0)
let str = DeviceUtil.getOsVersion();
getAbiList 應(yīng)用二進(jìn)制接口(Abi)。示例:arm64-v8a
let str = DeviceUtil.getAbiList();
getOsReleaseType 獲取系統(tǒng)的發(fā)布類型,取值為:Canary、Beta、Release
let str = DeviceUtil.getOsReleaseType();
getDeviceType 獲取當(dāng)前設(shè)備類型
let str = DeviceUtil.getDeviceType();
getDeviceTypeStr 獲取當(dāng)前設(shè)備類型,返回字符串
let str = DeviceUtil.getDeviceTypeStr();
getConfiguration 獲取設(shè)備的Configuration
let configuration = DeviceUtil.getConfigurationSync();
let jsonStr = JSON.stringify(configuration, null, 2);
getDirection 獲取當(dāng)前設(shè)備屏幕方向
let direction = DeviceUtil.getDirection();
getDeviceCapability 獲取設(shè)備的DeviceCapability
let deviceCapability = DeviceUtil.getDeviceCapabilitySync();
let jsonStr = JSON.stringify(deviceCapability, null, 2);
getScreenDensity 獲取當(dāng)前設(shè)備屏幕密度
let density = DeviceUtil.getScreenDensity();
ToastUtil.showToast(`前設(shè)備屏幕密度: ${density}`)
getBatterySOC 獲取當(dāng)前設(shè)備剩余電池電量百分比
let result = DeviceUtil.getBatterySOC();
getBatteryCapacityLevel 獲取當(dāng)前設(shè)備電池電量的等級
let result = DeviceUtil.getBatteryCapacityLevel();
getHealthStatus 獲取當(dāng)前設(shè)備電池的健康狀態(tài)
let result = DeviceUtil.getHealthStatus();
getBatteryTemperature 獲取當(dāng)前設(shè)備電池的溫度,單位0.1攝氏度
let result = DeviceUtil.getBatteryTemperature();
getVoltage 獲取當(dāng)前設(shè)備電池的電壓,單位微伏
let result = DeviceUtil.getVoltage();
getNowCurrent 獲取當(dāng)前設(shè)備電池的電流,單位毫安
let result = DeviceUtil.getNowCurrent();
isActive 檢測當(dāng)前設(shè)備是否處于活動狀態(tài)。有屏的設(shè)備為亮屏狀態(tài),無屏的設(shè)備為非休眠狀態(tài)
let result = DeviceUtil.isActive();
isStandby 檢測當(dāng)前設(shè)備是否進(jìn)入待機(jī)低功耗續(xù)航模式
let result = DeviceUtil.isStandby();
getPowerMode 獲取當(dāng)前設(shè)備的電源模式
let result = DeviceUtil.getPowerMode();
startVibration 開啟設(shè)備振動
DeviceUtil.getNowCurrent();
stopVibration 停止設(shè)備振動(按照VIBRATOR_STOP_MODE_TIME模式)
DeviceUtil.stopVibration();
創(chuàng)作不易,請給童長老點(diǎn)贊
審核編輯 黃宇
-
Harmony
+關(guān)注
關(guān)注
0文章
104瀏覽量
2984
發(fā)布評論請先 登錄
評論