php如何获取手机序列号,Android应用获取设备序列号的方法

news/2024/10/19 2:23:57/

[导读]本篇文章主要介绍了Android应用获取设备序列号的方法,小编觉得挺不错的

软硬件环境

Macbook Pro MGX 72

Android studio 2.1.2

Android 5.1.1

前言

上一篇介绍了如何获取ethernet的MAC地址,对于厂商来讲,除了MAC号,还有一项数据也很重要,那就是机器序列号,它是机器出厂时确定的,也是主要标识,每台机器都不一样。

要想获取到序列号,必须要先知道序列号从哪里来,写到了哪里。一般情况下,序列号都是厂商自己定义的一串字串,字串中的某几位会有不同含义,比如厂商的ID、出厂时间、机器类型等,另外,运营商定义的序列号几乎也是遵循这样的规律。

出厂时序列号的烧录

这个是烧录程序做的事情。首先,需要设计好flashmap,一般来讲,会拿出一块独立的分区用来存储这些固化信息,这些信息一经烧录,就不会去改变。Android镜像中的boot.img、system.img、userdata.img等等也是存放在这样的分区中。Android系统的烧录,一般会采用fastboot去做,简单、方便、快捷。

uboot获取序列号

序列号写入到了flash后,uboot就有办法获取到,然后uboot就可以将其以(key,value)的形式传递给kernel,当然传给kernel的参数并非只有序列号,所以如果你需要传一些自定义的数据,同样也可以通过这种方法去实现。在Android中,传递的是androidboot.ro.serialno。

android app中获取序列号

综上所述,在App中去获取序列号,实际上就是去获取android ro属性中的某个值,明白了这点,事情就好办了。看下面的代码实现private String getSerialNumber(){

String serial = null;

try {

Class> c =Class.forName("android.os.SystemProperties");

Method get =c.getMethod("get", String.class);

serial = (String)get.invoke(c, "ro.serialno");

} catch (Exception e) {

e.printStackTrace();

}

return serial;

}

一点扩展

android中的init.hardware.rc,其中(hardware)是各芯片厂商自己的标识。在这个文件中,可以通过setprop命令设置一些系统属性信息,比如mac、厂商id等,然后在android应用中同样可以通过上述方法去获取相应的值。


http://www.ppmy.cn/news/742902.html

相关文章

【Mac 教程系列第 15 篇】如何查看 Mac 产品的序列号

这是【Mac 教程系列第 15 篇】,如果觉得有用的话,欢迎关注专栏。 点击左上角的 logo 标志,选择关于本机,然后会弹出如下界面 你的问题得到解决了吗?欢迎在评论区留言。 赠人玫瑰,手有余香,如…

java MacBook air,macbook pro 与 macbook air 的区别!(前者是高配?java中如何读取主板序列号、硬盘序列号、MAC地址...

所以我想问的重点是?(本人使用苹果①向用于上网?整体性能呢:air那么薄,那么轻,请问它的硬盘对比pro有什么利弊,对于air我①直用macbook pro,②年换①次,今年由于①③寸的并没有使用i…

史上最新最全的M1 Air(2020 macbook air)配置homebrew步骤

终于在2020年末换上了M1芯片的Macbook air,(此处和我的2012年macbook pro正式告别) 直接说吧,网上看了很多配置步骤,都没讲到关键点,都会掉进一个无法写入文件的坑。。比如: 原因很简单&#x…

Mysql数据库(五) Mysql命令行客户端:内连接查询、左连接查询、右连接查询、自连接查询、子查询

目录 一、 连接查询 对多个表进行查询 1.0 数据准备 1.1 连接查询 1.2 内连接 INNER JOIN 1.3 左连接 LEFT JOIN 1.4 右连接 RIGHT JOIN 1.5 FULL OUTER JOIN 1.6 自连接查询 1.7 子查询-嵌套在查询中 一、 连接查询 对多个表进行查询 1.0 数据准备 在之前的文章当中…

Qt 获取 MacBook 设备序列号

前言 用 Qt 获取 Mac 电脑序列号有两种方式,一种是在 Qt 中调用 Mac 原生接口 object-c 代码去获取,一种是在 Qt 中使用QProcess执行终端命令获取,然后读取终端返回的数据,这种方式最简单,只需要几行代码即可,这里主要介绍这种简单的方式. 正文 来看代码 QString getMacDev…

Mac 序列号不可用导致超时代视频加密视频播放失败

最近,购买了一个培训课程,采用了超时代公司的加密技术,结果播放器在我的mac本上登录闪退. 我排查了一下原因: 1.右键app->”显示包内容”,然后,双击”MacOS”下的超时代软件视频加密 2.显示登录窗口->输入账号密码->程序直接闪退了,报了一个错 注意:这样打开可以…

关于在MacBook上查找序列号你知道吗

所有苹果产品(包括Mac)都具有序列号,该序列号本质上是在多种情况下使用的唯一标识符:例如,当您要在Mac上进行贸易或根据Apple的保修协议进行维修时,或检查您的Mac是否是召回的一部分,甚至可以在…

分布式运用——监控平台 Zabbix

分布式运用——监控平台 Zabbix 一、监控平台种类二、我们今天介绍Linux操作系统的传统监控平台——zabbix 6.0版本1.zabbix 是什么?2.**zabbix 监控原理:**3.Zabbix 6.0 新特性:4. Zabbix 6.0 功能组件:5.数据库6.Web 界面7.Zabb…