Android获取手机设备硬件、系统、程序等信息

一、获取手机系统信息

1、获取手机型号

android.os.Build.MODEL

2、获取手机品牌

android.os.Build.BRAND

3、获取手机产品名

android.os.Build.PRODUCT

4、获取设备引导程序版本号

android.os.Build.BOOTLOADER

5、获取手机CPU的类型

android.os.Build.CPU_ABI

6、获取设备驱动名称

android.os.Build.DEVICE

7、获取手机 IMEI 号

public static String IMEI() {  

    String imei = "NO Search";  

    TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);  

    imei = telephonyManager.getDeviceId();  

    return imei;  

}

8、获取手机序列号

android.os.Build.SERIAL

9、获取手机主板名

return android.os.Build.BOARD

10、获取手机安卓系统版本号

return android.os.Build.VERSION.RELEASE

11、获取设备主机地址

android.os.Build.HOST

12、获取手机制造商

android.os.Build.MANUFACTURER

13、获取时间

android.os.Build.TIME

14、获取手机 IMSI 号

public static String IMSI() {  

   String imsi = "NO Search";  

   TelephonyManager telephonyManager = (TelephonyManager) context  

           .getSystemService(Context.TELEPHONY_SERVICE);  

   imsi = telephonyManager.getSubscriberId();  

   return imsi;  

}

15、获取本机号码

public static String Num() {  

    String num = "NO Search";  

    TelephonyManager telephonyManager = (TelephonyManager) context  

            .getSystemService(Context.TELEPHONY_SERVICE);  

    num = telephonyManager.getLine1Number();  

    return num;  

}

16、获取手机 SIM 号

public static String SIM() {  

   String sim = "NO Search";  

   TelephonyManager telephonyManager = (TelephonyManager) context  

           .getSystemService(Context.TELEPHONY_SERVICE);  

   sim = telephonyManager.getSimSerialNumber();  

   return sim;  

}

17、获取设备 MAC 地址

public static String MAC() {  

   String mac = "NO Search";  

   WifiManager manager = (WifiManager) context  

           .getSystemService(Context.WIFI_SERVICE);  

   WifiInfo info = manager.getConnectionInfo();  

   mac = info.getMacAddress();  

   return mac;  

}

18、获取手机屏幕高度(像素)

public static int Height() {  

    int height = 0;  

    DisplayMetrics dm = context.getResources().getDisplayMetrics();  

    height = dm.heightPixels;  

    return height;  

}

19、获取手机屏幕宽度(像素)

public static int Width() {  

    int width = 0;  

    DisplayMetrics dm = context.getResources().getDisplayMetrics();  

    width = dm.widthPixels;  

    return width;  

}

二、获取程序信息

1、获取程序版本号

public static int VersionCode() {

int versioncode = 0;  

    try {  

         versioncode = context.getPackageManager().getPackageInfo(  

                 context.getPackageName(), 0).versionCode;  

     } catch (PackageManager.NameNotFoundException e) {  

         e.printStackTrace();  

     }  

     return versioncode;  

}

2、获取程序签名

public static String AppSignature() {  

try {  

    PackageInfo packinfo = pm.getPackageInfo(packname,  

            PackageManager.GET_SIGNATURES);  

    // 获取到所有的权限  

    return packinfo.signatures[0].toCharsString();  

} catch (PackageManager.NameNotFoundException e) {  

    e.printStackTrace();  

}  

return "No Search";  

}

3、获取程序权限

public static String[] AppPremission() {  

    try {  

        PackageInfo packinfo = pm.getPackageInfo(packname,  

                PackageManager.GET_PERMISSIONS);  

        // 获取到所有的权限  

        return packinfo.requestedPermissions;  

    } catch (PackageManager.NameNotFoundException e) {  

        e.printStackTrace();  

    }  

    return null;  

}

4、获取程序图标

public static Drawable AppIcon() {  

    try {  

        ApplicationInfo info = pm.getApplicationInfo(  

                context.getPackageName(), 0);  

        return info.loadIcon(pm);  

    } catch (PackageManager.NameNotFoundException e) {  

        e.printStackTrace();  

    }  

    return null;  

}

5、获取程序名称

public static String AppName() {  

    try {  

        ApplicationInfo info = pm.getApplicationInfo(packname, 0);  

        return info.loadLabel(pm).toString();  

    } catch (PackageManager.NameNotFoundException e) {  

        e.printStackTrace();  

    }  

    return "No Search";  

}

6、获取程序版本名

public static String VersionName() {  

    String versionname = "unknow";  

    try {  

        versionname = context.getPackageManager().getPackageInfo(  

                context.getPackageName(), 0).versionName;  

    } catch (PackageManager.NameNotFoundException e) {  

        e.printStackTrace();  

    }  

    return versionname;  

}

7、获取程序包名

public static String PackgeName() {  

    String packgename = "unknow";  

    try {  

        packgename = context.getPackageManager().getPackageInfo(  

                context.getPackageName(), 0).packageName;  

    } catch (PackageManager.NameNotFoundException e) {  

        e.printStackTrace();  

    }  

    return packgename;  

}