Runt
2023-02-22 ea6ce17bf3272259295adccbad85583079b5bac0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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;
    }
 
}