アンドロイド:構成情報の表示

6308 ワード

構成情報:
  • プロジェクトの構成情報
  • 携帯電話の配置情報
  • 使用する場合は、単一例のツールクラスにカプセル化することをお勧めします
  • 携帯電話の配置情報は一般的にBuild
  • プロジェクトの構成情報は一般的にcontext App:
  • //       
    public class AppinfoConfig {
    
        private static volatile AppinfoConfig singleton;
    
        private AppinfoConfig() {
        }
    
        public static AppinfoConfig getInstance() {
            if (singleton == null) {
                synchronized (AppinfoConfig.class) {
                    if (singleton == null) {
                        singleton = new AppinfoConfig();
                    }
                }
            }
            return singleton;
        }
    
        private Context context;
        //       
        public void init(Context context){
            this.context=context;
        }
    
        public String getPackname() {
            try {
                String versionName = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
    
            return context.getPackageName();
        }
    
        public String getversionName() {
            try {
                String versionName = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
                return versionName;
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
    
            return "";
        }
    
        public String getversioncode() {
            try {
                int versionName = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;
                return versionName+"";
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
            return "";
        }
    }
    
    DeviceInfoConfig:
    
        private static volatile DeCiceInfoConfig singleton;
    
        private DeCiceInfoConfig() {
        }
    
        public static DeCiceInfoConfig getInstance() {
            if (singleton == null) {
                synchronized (DeCiceInfoConfig.class) {
                    if (singleton == null) {
                        singleton = new DeCiceInfoConfig();
                    }
                }
            }
            return singleton;
        }
        private Context context;
        //       
        public void init(Context context){
            this.context=context;
        }
    
    
        public DeCiceInfoConfig(Context context) {
            this.context = context;
        }
    
        //  
        public String getMANUFACTURER(){
            return Build.MANUFACTURER;
        }
    
        //    
        public String getMode(){
            return Build.MODEL;
        }
    
        public String getDEVICE(){
            return Build.DEVICE;
        }
    
    
        //    
        public int getCODENAME(){
            return Build.VERSION.SDK_INT;
        }
    
        //    GSM——IMEI CDMA——MEID
        @RequiresApi(api = Build.VERSION_CODES.M)
        public String getID(){
            if(Build.VERSION.SDK_INT>23){
    
            }else {
                String deviceid=getIMEI();
                if(deviceid==null){
                    return deviceid=getMEID();
                }
                return getIMEI();
            }
           return null;
        }
        //    /**
    //     * Android 5.0    
    //     * @param slotId
    //     * @return
    //     */
    //    private String getIMEI(int slotId){
    //        try {
    //            Class clazz = Class.forName("android.os.SystemProperties");
    //            Method method = clazz.getMethod("get", String.class, String.class);
    //            String imei = (String) method.invoke(null, "ril.gsm.imei", "");
    //            if(!TextUtils.isEmpty(imei)){
    //                String[] split = imei.split(",");
    //                if(split.length > slotId){
    //                    imei = split[slotId];
    //                }
    //                LogUtils.d("getIMEI imei: "+ imei);
    //                return imei;
    //            }
    //        } catch (Exception e) {
    //            e.printStackTrace();
    //            LogUtils.w("getIMEI error : "+ e.getMessage());
    //        }
    //        return "";
    //    }
    //
    //    /**
    //     * Android 5.0    
    //     * @return
    //     */
    //    private String getMEID(){
    //        try {
    //            Class clazz = Class.forName("android.os.SystemProperties");
    //            Method method = clazz.getMethod("get", String.class, String.class);
    //
    //            String meid = (String) method.invoke(null, "ril.cdma.meid", "");
    //            if(!TextUtils.isEmpty(meid)){
    //                LogUtils.d("getMEID meid: "+ meid);
    //                return meid;
    //            }
    //        } catch (Exception  e) {
    //            e.printStackTrace();
    //            LogUtils.w("getMEID error : "+ e.getMessage());
    //        }
    //        return "";
    //    }
        //GMS——IMEI
        @RequiresApi(api = Build.VERSION_CODES.M)
        private String getIMEI() {
            @SuppressLint("ServiceCast")
            TelephonyManager systemService = (TelephonyManager) context.getSystemService(Context.TELECOM_SERVICE);
            @SuppressLint({"HardwareIds", "MissingPermission"})
            String imei = systemService.getDeviceId(TelephonyManager.PHONE_TYPE_GSM);
            return imei;
        }
    
        // CDMA——MEID
    
        @RequiresApi(api = Build.VERSION_CODES.M)
        private String getMEID() {
            @SuppressLint("ServiceCast")
            TelephonyManager systemService = (TelephonyManager) context.getSystemService(Context.TELECOM_SERVICE);
            @SuppressLint({"HardwareIds", "MissingPermission"})
            String meid = systemService.getDeviceId(TelephonyManager.PHONE_TYPE_CDMA);
            return meid;
        }
    
        //UTDID(um )
        public String getUTDID(){
            return UMUtils.getUTDID(context);
        }
    
    
        //    (um )
        public String getMacAddress(){
    
            return UMUtils.getMac(context);
        }
    
        //     
        public String getDisplay(){
            String display = Build.DISPLAY;
            return UMUtils.getDisplayResolution(context)+display;
        }
    
        @SuppressLint("MissingPermission")
        public String getLocation(){
            LocationManager systemService = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
            Location lastKnownLocation = systemService.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            return lastKnownLocation.getLatitude()+lastKnownLocation.getLongitude()+"";
        }