前言
因为项目中经常会遇到要上传一系列设备信息的功能,为了方便使用,所以就拆分成以下系列文章来单独介绍如何获取各类设备信息
- 手机运营商获取
- AndroidID、IMEI、OAID获取
- 地理位置信息经纬度获取
- 公网IP地址获取:移动网络IP、Wifi IP
- Build类获取相关设备信息
- 屏幕相关信息:密度、物理尺寸获取
- BuildConfig获取的一系列基础信息
- UA、网络状态…等持续更新
我们需要的一些设备信息,其实可以直接从Build类中获取。
Build类介绍:
Information about the current build, extracted from system properties.
Build类可以从系统属性中获取到关于当前设备的一些信息
下面我们看看常用的哪些信息可以从Build类中获取到。
1. 常用的设备信息
字段 | 示例 | 说明 |
---|---|---|
Build.MODEL | Pixel XL | 手机型号 |
Build.BRAND | 设备品牌 | |
Build.DEVICE | marlin | 设备名 |
Build.BOARD | marlin | 主板名称 |
Build.PRODUCT | marlin | 手机制造商 |
Build.HARDWARE | marlin | 硬件名称,来自内核命令行或者proc |
Build.SERIAL | 01121411b0gg | 硬件序列号,但是始终设置为unknown,已过时,被替换为Build.getSerial(),该方法只有系统应用才能获取,需要READ_PRIVILEGED_PHONE_STATE 权限 |
Build.MANUFACTURER | 硬件制造商 |
Build.VERSION相关
字段 | 示例 | 说明 |
---|---|---|
Build.VERSION.RELEASE | 7.1.1 | 安卓系统版本 |
Build.VERSION.SDK_INT | 25 | 运行软件的sdk版本,除非ota升级,否则设备运行时是不会改变的 |
Build.VERSION.SDK | 25 | 编译时sdk版本 |
Build.VERSION.BASE_OS | 空 | 产品构建所基于的操作系统 |
Build.VERSION.CODENAME | REL | 当前的开发代号,如果是正式版则是REL |
Build.VERSION.INCREMENTAL | 3636322 | 当前系统的版本(底层代码使用的值) |
Build.VERSION.PREVIEW_SDK_INT | 0 | 永远是0 |
Build.VERSION.SECURITY_PATCH | 2017-02-05 | 最近安全补丁日期 |
2. 其他设备信息
字段 | 示例 | 说明 |
---|---|---|
Build.TYPE | user | builder类型 |
Build.USER | build | 系统用户名 |
Build.HOST | Build2 | 系统主机名 |
Build.TAGS | release-keys | 描述build的标签 |
Build.ID | NOF26V | 修订版本编号 |
Build.SUPPORTED_ABIS | x86、armeabi-v7a、armeabi | 支持的ABI列表 |
Build.DISPLAY | NOF26V | 用于向用户显示的构建 ID 字符串?(对接文档称显示屏参数) |
Build.BOOTLOADER | unknown | 系统的引导加载程序版本号 |
Build.getRadioVersion() | 空 | 返回无线电固件版本号,可能返回null,因为收音机未打开 |
Build.VERSION_CODES.M Build.VERSION_CODES.Q | 枚举当前已知的SDK版本号 | |
Build.SUPPORTED_32_BIT_ABIS | x86、armeabi-v7a、armeabi | 支持的32位ABI列表 |
Build.SUPPORTED_64_BIT_ABIS | 空 | 支持的64为ABI列表 |
Build.FINGERPRINT | google/marlin/marlin:7.1.1/NOF26V/ 3636322:user/release-keys | 唯一标识此build的唯一参数,不要解析它 |
Build.TIME | 1505736970000 | Build文件生成的时间 |
3. 总结
可以看到Build类可以获取到的信息还是很多的,除了getSerial()
,剩下的都不需要什么权限。以上就是全部内容,如果本文对你有帮助,请别忘记点赞start,如果有不恰当的地方也请提出来,下篇文章见。
关注公众号,回复 Build类 获取文章源码