Android系统信息获取

时间:2022-09-09 21:58:20

在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传

    • Build.BOARD // 主板
    • Build.BRAND // 系统定制商
    • Build.SUPPORTED_ABIS //CPU指令集
    • Build.DEVICE // 设备参数
    • Build.DISPLAY // 显示屏参数
    • Build.FINGDERPRINT // 唯一编号
    • Build.SERIAL // 硬件序列号
    • Build.ID // 修订版本列表
    • Build.MANUFACTURER // 硬件制造商
    • Build.MODEL //版本
    • Build.HARDWARE //硬件名
    • Build.PRODUCT //手机产品名
    • Build.TAGS // 描述build的标签
    • Build.TYPE // Builder类型
    • Build.VERSION.CODENAME //当前开发代号
    • Build.VERSION.INCREMENTAL //源码控制版本号
    • Build.VERSION.RELEASE //版本字符串
    • Build.VERSION.SDK_INT //版本号
    • Build.HOST // HOST值
    • Build.USER // User名
    • Build.TIME // 编译时间

      System.Property 
      os.version // OS版本号 
      os.name // OS名称 
      os.arch // OS架构 
      user.home //home属性 
      user.name // name属性 
      user.dir //dir属性 
      user.timezone //时区 
      path.separator //路径分隔符 
      line.separator // 行文分隔符 
      file.separator //文件分隔符 
      java.vendor.url // Java vender URL属性 
      java.class.path // Java Class路径 
      java.class.version // Java class版本 
      java.vendor // java vender 属性 
      java.version // Java 版本 
      java.home // Java Home 属性

SystemUtil类

  1. /**
  2. * 系统工具类
  3. * Created by zhuwentao on 2016-07-18.
  4. */
  5. public class SystemUtil {
  6. /**
  7. * 获取当前手机系统语言。
  8. *
  9. * @return 返回当前系统语言。例如:当前设置的是“中文-中国”,则返回“zh-CN”
  10. */
  11. public static String getSystemLanguage() {
  12. return Locale.getDefault().getLanguage();
  13. }
  14. /**
  15. * 获取当前系统上的语言列表(Locale列表)
  16. *
  17. * @return  语言列表
  18. */
  19. public static Locale[] getSystemLanguageList() {
  20. return Locale.getAvailableLocales();
  21. }
  22. /**
  23. * 获取当前手机系统版本号
  24. *
  25. * @return  系统版本号
  26. */
  27. public static String getSystemVersion() {
  28. return android.os.Build.VERSION.RELEASE;
  29. }
  30. /**
  31. * 获取手机型号
  32. *
  33. * @return  手机型号
  34. */
  35. public static String getSystemModel() {
  36. return android.os.Build.MODEL;
  37. }
  38. /**
  39. * 获取手机厂商
  40. *
  41. * @return  手机厂商
  42. */
  43. public static String getDeviceBrand() {
  44. return android.os.Build.BRAND;
  45. }
  46. /**
  47. * 获取手机IMEI(需要“android.permission.READ_PHONE_STATE”权限)
  48. *
  49. * @return  手机IMEI
  50. */
  51. public static String getIMEI(Context ctx) {
  52. TelephonyManager tm = (TelephonyManager) ctx.getSystemService(Activity.TELEPHONY_SERVICE);
  53. if (tm != null) {
  54. return tm.getDeviceId();
  55. }
  56. return null;
  57. }
  58. }

其中获取手机IMEI需要在AndroidManifest.xml中加上权限:

  1. <uses-permission android:name="android.permission.READ_PHONE_STATE" />

使用这些方法的时候直接调用就好了

  1. private void showSystemParameter() {
  2. String TAG = "系统参数:";
  3. Log.e(TAG, "手机厂商:" + SystemUtil.getDeviceBrand());
  4. Log.e(TAG, "手机型号:" + SystemUtil.getSystemModel());
  5. Log.e(TAG, "手机当前系统语言:" + SystemUtil.getSystemLanguage());
  6. Log.e(TAG, "Android系统版本号:" + SystemUtil.getSystemVersion());
  7. Log.e(TAG, "手机IMEI:" + SystemUtil.getIMEI(getApplicationContext()));
  8. }

返回结果:

Android系统信息获取