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的说明相关推荐

  1. Android实现第三方登录并获取到头像、名字

    首先导入架包 下面还需要一个ImageLoader的依赖,用来加载图片 compile 'com.nostra13.universalimageloader:universal-image-loade ...

  2. 关于uniapp获取ios客户端平台安全距离(底部导航条)的方法

    1. 在uniapp中可通过内置api: uni.getSystemInfo(OBJECT) 获取系统信息,在success回调函数中会返回设备的详细信息对象,其中一个key名 'safeAreaIn ...

  3. android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法 1)获取运营商sim卡imsi号: String android_imsi = telephonyManager.getSub ...

  4. 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 . ...

  5. android 外部存储列表,如何获取Android设备的已安装外部存储列表

    我使用/ proc / mounts文件来获取可用存储选项的列表 public class StorageUtils { private static final String TAG = " ...

  6. android获取ro._Android 简单的设备信息获取

    在用python写自动化测试脚本的脚本的时候通常回需要获取一些android设备的硬件信息.网上给的很多方案都是通常通过/system/build.prop中去获取,但是回遇到permission d ...

  7. Unity实现在Android端获取Android手机的唯一ID(设备号)(亲测Android11可用)

    Unity实现在Android端获取Android手机的唯一ID(设备号)(亲测Android11可用) 备注:测试版本Unity2020,理论上Unity2018以上都可用,未做测试 - 文章初衷 ...

  8. 热点连接的设备android,Android获取实时连接热点的设备IP

    最近有很多网友向小编咨询这样的问题:通过读取/proc/net/arp文件可以得到连接当前热点的设备的IP,但是一旦设备断开后,该设备的IP还是存在该文件中,遇到这样的麻烦不知道该如何解决了. 就像系 ...

  9. Android开发之获取常用android设备参数信息

    如下图: 查看工具类:下载apk的方法缺少xutils库,可以自己添加xutils库 package com.mchsdk.paysdk.utils;import android.Manifest; ...

最新文章

  1. 机器学习关键的几门课程_互联网上每门机器学习课程,均按您的评论排名
  2. mysql主主复制、主从复制、半同步的实现
  3. 6 HBase java API访问HBase数据库
  4. linux smb 所有者,python-3.x - 在Linux上使用python从smb共享中获取文件的所有者。 - SO中文参考 - www.soinside.com...
  5. 寻找字符串中第一个仅仅出现一次打字符
  6. mysql :完整性约束
  7. 如何在Docker容器中运行GUI程序
  8. linux 升级mysql版本 lamp_Linux 下安装 LAmp及配置
  9. LFDMM源码剖析(融入词向量的概率图模型)
  10. 旷视开源了一套图像检索和ReID的PyTorch库
  11. 直播电商要处理好五个关系
  12. 我是如何自学编程以及如何两个月达到一万粉丝的,辣条的心路历程希望能帮助到你
  13. java enum private_初步理解Java枚举类型
  14. Git的commit your changes or stash them before you can merge
  15. lightroom classic破解版
  16. HTML实现圆形头像效果
  17. 标准模板库(STL)介绍
  18. Webbrowser指定IE内核版本(更改注册表)
  19. web常用模块测试用例
  20. 麻省理工学院计算机博士奖学金,NWU这位高颜值学霸小姐姐,获麻省理工博士全额奖学金录取!...

热门文章

  1. 速度与压缩比如何兼得?压缩算法在构建部署中的优化
  2. vue keys detected: '1111'. This may cause an update error.
  3. 阿里api网关接口客户端demo,java实现源码,其他语言可参考
  4. 执念斩长河21年Q2生活心得
  5. 常喝酸奶,远离糖尿病
  6. 甲骨文称将出示李艾科犯罪证据 与惠普较劲
  7. 阿波罗无法通过链接外网
  8. Arduino ADC+B10K电位器
  9. 内网监控群晖918+(docker telegraf influxdb grafana)
  10. 数据处理之衡量数据远近的多种距离公式