admin
2022-11-30 fd238846980b17d893d703ac8e56869bd3f23c89
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
79
80
81
82
83
84
85
86
87
88
package com.lcjian.library.util.common;
 
import android.app.Application;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.provider.Settings;
import android.telephony.TelephonyManager;
 
import java.util.ArrayList;
import java.util.List;
 
import static android.content.Context.TELEPHONY_SERVICE;
 
public class DeviceUtil {
 
 
    private static List<PackageInfo> installedPackages;
    private static String imei;
    private static String android_id;
    private static String imsi;
 
    public static synchronized List<PackageInfo> getInstalledPackagesCache(Context context) {
        if (installedPackages != null) {
            return installedPackages;
        }
        PackageManager pManager = context.getPackageManager();
        //获取手机内所有应用
        installedPackages = pManager.getInstalledPackages(0);
        return installedPackages;
    }
 
 
    public static synchronized List<String> getInstalledPackageNamesCache(Context context) {
        List<PackageInfo> list = getInstalledPackagesCache(context);
        List<String> nameList = new ArrayList<>();
        for (PackageInfo pi : list) {
            nameList.add(pi.packageName);
        }
        return nameList;
    }
 
    public static synchronized String getImeiCache(Context context) {
        if(imei!=null){
            return imei;
        }
 
        TelephonyManager manager = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
        try {
            imei = manager.getDeviceId();
        }catch(Exception e){
 
        }
        imei = imei == null ? "" : imei;
        return imei;
    }
 
    public static synchronized String getAndroidIdCache(Context context){
        if(android_id!=null){
            return android_id;
        }
        try {
            android_id = Settings.System.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
        }catch(Exception e){
 
        }
        android_id = android_id == null ? "" : android_id;
        return android_id;
    }
 
 
    public static synchronized String getImsiCache(Context context){
        if(imsi!=null){
            return imsi;
        }
        TelephonyManager mTelephonyMgr = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        try {
            imsi = mTelephonyMgr.getSubscriberId();
        }catch(Exception e){
 
        }
        imsi = imsi == null ? "" : imsi;
        return imsi;
    }
 
 
}