package com.auto.lyric.data; import android.content.Context; import android.os.Build; import android.util.DisplayMetrics; import android.util.Log; import com.auto.lyric.util.DeviceIdUtils; import com.auto.lyric.util.DeviceUtil; import org.json.JSONException; import org.json.JSONObject; /** * @purpose 设备信息 * @author Runt (qingingrunt2010@qq.com) * @date 2022/4/13. */ public class DeviceInfo { //("系统:android, ios") public String os; //("系统版本") public String osVersion; //("设备品牌") public String brand; //("手机型号") public String model; //("屏幕宽度") public int screenWidth; //("屏幕高度") public int screenHeight; //("屏幕DPI") public int screenDensityDpi; public String deviceId; // imei or idfa, deviceId 如果有多个,按照字母序调整 public String deviceId2; // android 补充 public String deviceId3; // android 补充 public String oaid; public String androidId; public static DeviceInfo getInstance(Context context){ DeviceInfo info = new DeviceInfo(); info.os = DeviceUtil.isHarmonyOS()?"harmony":"android"; info.osVersion = DeviceUtil.isHarmonyOS()?DeviceUtil.getProp("hw_sc.build.platform.version", ""): Build.VERSION.RELEASE; info.brand = Build.BRAND; info.model = Build.MODEL; DisplayMetrics screenPixel = DeviceUtil.getScreenPixel(context); info.screenWidth = screenPixel.widthPixels; info.screenHeight = screenPixel.heightPixels; info.screenDensityDpi = screenPixel.densityDpi; JSONObject json = DeviceIdUtils.getDeviceIds(context); Log.e("DataCenter","deviceInfo:"+json); try { if(json.has("1")){ info.deviceId = json.getString("1"); } if(json.has("2")){ info.deviceId2 = json.getString("2"); } if(json.has("3")){ info.deviceId3 = json.getString("3"); } if(json.has("6")){ info.androidId = json.getString("6"); } if(json.has("7")){ info.oaid = json.getString("7"); } } catch (JSONException e) { e.printStackTrace(); } return info; } }