android获取机器码,Android平台获取设备SN的说明
getSystemService(Context.TELEPHONY_SERVIEC).getSimSerialNumber(),此方式获取到的系统属性值是机器码,具体是从生成在system/build.prop文件中的ro.serialno属性获取来的。
用MauiMETA或者SN_Writer_Tool写入的SN实际存到了system/build.prop文件中的gsm.serial属性中。
而平台默认没有封装现成的方法获取该属性值(gsm.serial)供上层APP调用。因此需要系统侧Framework层封装能够获取到该属性值的方法。
Solution:
GetSysPropUtil.getSn();
GetSysPropUtil.java:
import android.os.UserManager;
import java.lang.reflect.Method;
public class GetSysPropUtil {
private static Method systemProperties_get = null;
private static String getAndroidOsSystemProperties(String key) {
String ret;
try {
systemProperties_get = Class.forName("android.os.SystemProperties").getMethod("get", String.class);
if ((ret = (String) systemProperties_get.invoke(null, key)) != null)
return ret;
} catch (Exception e) {
e.printStackTrace();
return null;
}
return "";
}
public static String getSn(){
return getAndroidOsSystemProperties("gsm.serial");
}
}
getSystemService(Context.TELEPHONY_SERVIEC).getSimSerialNumber();
对于平台生成的默认SN号,获取逻辑如下:
以全志A64平台来说,ro.serialno的赋值过程为:
int sunxi_set_serial_num(void)
{
char serial[128] = {0};
if(get_serial_num_from_file(serial))
{
get_serial_num_from_chipid(serial);
}
printf("serial is: %s\n",serial);
if(setenv("sunxi_serial", serial))
{
printf("error:set variable [sunxi_serial] fail\n");
}
return 0;
}
从上可见,默认SN要么来自读取文件,要么来自读取芯片的某个位置。
举报/反馈
android获取机器码,Android平台获取设备SN的说明相关推荐
- Android实现第三方登录并获取到头像、名字
首先导入架包 下面还需要一个ImageLoader的依赖,用来加载图片 compile 'com.nostra13.universalimageloader:universal-image-loade ...
- 关于uniapp获取ios客户端平台安全距离(底部导航条)的方法
1. 在uniapp中可通过内置api: uni.getSystemInfo(OBJECT) 获取系统信息,在success回调函数中会返回设备的详细信息对象,其中一个key名 'safeAreaIn ...
- android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法
android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法 1)获取运营商sim卡imsi号: String android_imsi = telephonyManager.getSub ...
- android arp工具,GitHub - SummerSnow274/ARP_sed_rev: 在Android通过ARP询问实现获取同一网络所有设备的MAC地址,AP隔离的网络除外...
ARP_sed_rev 在Android通过ARP询问实现获取同一网络所有设备的MAC地址,AP隔离的网络除外 arpsed.c 编译:gcc arpsed.c -o arpsed 运行:sudo . ...
- android 外部存储列表,如何获取Android设备的已安装外部存储列表
我使用/ proc / mounts文件来获取可用存储选项的列表 public class StorageUtils { private static final String TAG = " ...
- android获取ro._Android 简单的设备信息获取
在用python写自动化测试脚本的脚本的时候通常回需要获取一些android设备的硬件信息.网上给的很多方案都是通常通过/system/build.prop中去获取,但是回遇到permission d ...
- Unity实现在Android端获取Android手机的唯一ID(设备号)(亲测Android11可用)
Unity实现在Android端获取Android手机的唯一ID(设备号)(亲测Android11可用) 备注:测试版本Unity2020,理论上Unity2018以上都可用,未做测试 - 文章初衷 ...
- 热点连接的设备android,Android获取实时连接热点的设备IP
最近有很多网友向小编咨询这样的问题:通过读取/proc/net/arp文件可以得到连接当前热点的设备的IP,但是一旦设备断开后,该设备的IP还是存在该文件中,遇到这样的麻烦不知道该如何解决了. 就像系 ...
- Android开发之获取常用android设备参数信息
如下图: 查看工具类:下载apk的方法缺少xutils库,可以自己添加xutils库 package com.mchsdk.paysdk.utils;import android.Manifest; ...
最新文章
- 机器学习关键的几门课程_互联网上每门机器学习课程,均按您的评论排名
- mysql主主复制、主从复制、半同步的实现
- 6 HBase java API访问HBase数据库
- linux smb 所有者,python-3.x - 在Linux上使用python从smb共享中获取文件的所有者。 - SO中文参考 - www.soinside.com...
- 寻找字符串中第一个仅仅出现一次打字符
- mysql :完整性约束
- 如何在Docker容器中运行GUI程序
- linux 升级mysql版本 lamp_Linux 下安装 LAmp及配置
- LFDMM源码剖析(融入词向量的概率图模型)
- 旷视开源了一套图像检索和ReID的PyTorch库
- 直播电商要处理好五个关系
- 我是如何自学编程以及如何两个月达到一万粉丝的,辣条的心路历程希望能帮助到你
- java enum private_初步理解Java枚举类型
- Git的commit your changes or stash them before you can merge
- lightroom classic破解版
- HTML实现圆形头像效果
- 标准模板库(STL)介绍
- Webbrowser指定IE内核版本(更改注册表)
- web常用模块测试用例
- 麻省理工学院计算机博士奖学金,NWU这位高颜值学霸小姐姐,获麻省理工博士全额奖学金录取!...
热门文章
- 速度与压缩比如何兼得?压缩算法在构建部署中的优化
- vue keys detected: '1111'. This may cause an update error.
- 阿里api网关接口客户端demo,java实现源码,其他语言可参考
- 执念斩长河21年Q2生活心得
- 常喝酸奶,远离糖尿病
- 甲骨文称将出示李艾科犯罪证据 与惠普较劲
- 阿波罗无法通过链接外网
- Arduino ADC+B10K电位器
- 内网监控群晖918+(docker telegraf influxdb grafana)
- 数据处理之衡量数据远近的多种距离公式