harmony自动获取手机信息

hz_1122
yineng.huang 2025-06-27 16:07:43 +08:00
parent 394185218f
commit 3f07094ce9
1 changed files with 23 additions and 5 deletions

View File

@ -6,17 +6,22 @@ import net.northking.cctp.upperComputer.deviceManager.thread.util.ThreadJob;
import net.northking.cctp.upperComputer.deviceManager.thread.util.ThreadScope; import net.northking.cctp.upperComputer.deviceManager.thread.util.ThreadScope;
import net.northking.cctp.upperComputer.driver.harmony.HarmonyDevice; import net.northking.cctp.upperComputer.driver.harmony.HarmonyDevice;
import net.northking.cctp.upperComputer.driver.harmony.hdc.HDCConnectStatus; import net.northking.cctp.upperComputer.driver.harmony.hdc.HDCConnectStatus;
import net.northking.cctp.upperComputer.driver.harmony.hdc.HDCSession;
import net.northking.cctp.upperComputer.driver.harmony.hdc.Hdc;
import net.northking.cctp.upperComputer.driver.harmony.hyppium.HyppiumAgent; import net.northking.cctp.upperComputer.driver.harmony.hyppium.HyppiumAgent;
import net.northking.cctp.upperComputer.driver.harmony.hyppium.data.DisplaySize; import net.northking.cctp.upperComputer.driver.harmony.hyppium.data.DisplaySize;
import net.northking.cctp.upperComputer.driver.harmony.ui.UiComponent; import net.northking.cctp.upperComputer.driver.harmony.ui.UiComponent;
import net.northking.cctp.upperComputer.exception.ExecuteException; import net.northking.cctp.upperComputer.exception.ExecuteException;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.io.Closeable; import java.io.Closeable;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map;
/** /**
* 鸿 * 鸿
@ -466,14 +471,27 @@ public class HarmonyProvider implements Closeable,InitDevice {
LinkedHashMap<String, Object> deviceInfo = new LinkedHashMap<>(); LinkedHashMap<String, Object> deviceInfo = new LinkedHashMap<>();
//region 设备号 //region 设备号
deviceInfo.put("serial", harmonyDevice.getHdcDevice().getConnectKey()); deviceInfo.put("serial", harmonyDevice.getHdcDevice().getConnectKey());
Map<String, String> infoMap = new HashMap<>();
HDCSession hdcSession = Hdc.getInstance().shell(harmonyDevice.getHdcDevice(), "param get");
String allInfo = hdcSession.readLine();
String[] split = allInfo.split("\r\n");
for (int i=0; i<split.length; i++) {
if (StringUtils.isNotBlank(split[i])) {
String[] data = split[i].trim().split("=");
if (data.length == 2) {
infoMap.put(data[0].trim(), data[1].trim());
}else {
log.warn("设备【{}】的数据异常:{}",harmonyDevice.getHdcDevice().getConnectKey(),split[i]);
}
}
}
//region 品牌 //region 品牌
deviceInfo.put("manufacturer", "HUAWEI"); deviceInfo.put("manufacturer", infoMap.get("const.product.brand"));
//region 型号 todo:后面得改 deviceInfo.put("model", infoMap.get("const.product.name"));
deviceInfo.put("model", "mate60"); deviceInfo.put("product", infoMap.get("const.product.name"));
deviceInfo.put("product", "mate60");
//region 平台 //region 平台
deviceInfo.put("platform", "harmony"); deviceInfo.put("platform", "harmony");
deviceInfo.put("version", "5.0"); deviceInfo.put("version", infoMap.get("const.product.os.dist.version"));
int rotation = getDisplayRotation(); int rotation = getDisplayRotation();
deviceInfo.put("rotation", rotation); deviceInfo.put("rotation", rotation);
DisplaySize screenSize = getScreenSize(); DisplaySize screenSize = getScreenSize();