Articles of 序列号

获取Android设备的硬件序列号

我需要获取安装了我的应用程序的Android设备的硬件序列代码。 您可以在Settings > About Device > Status > Serial number上看到此硬件序列Settings > About Device > Status > Serial number 。 虽然我会使用Settings.Secure.ANDROID_ID or android.os.Build.SERIAL来获取它,但它们都没有工作,这意味着它们没有给我我正在寻找的唯一标识符。 例如,运行命令adb devices时, android.os.Build.SERIAL我提供了ADB上显示的唯一ID。 请注意,这个问题的目标不是find可以帮助我的另一个唯一标识符,而只是获取设备硬件序列号。 谢谢您的帮助。 编辑: 请注意,我不是在寻找字符串android.os.BUILD.SERIAL提供的值。 我知道如何获得这个价值,但我对此并不感兴趣。 我有三星设备,因此,他们使用的序列号与android.os.BUILD.SERIAL提供的序列号不同。

如何在Android 7.0+中检索SD卡的序列号?

在某些版本的Android和其他Linux版本中,可以获取已安装SD卡的序列号,例如通过读取/sys/class/mmc_host/mmc0/mmc0:0001/serial或/sys/block/mmcblk0/device/serial (具体数字可能有所不同)。 在我的测试中,只要将SD卡插入内置SD卡插槽(不通过USB适配器安装),这就非常可靠。 但是从Android 7.0 Nougat开始, 据说操作系统阻止访问这些信息,至少在某些设备上是这样。 我通过在新的阿尔卡特A30 GSM(Android 7.0)上运行测试应用程序对此进行了测试,实际上上述方法失败并出现权限错误: java.io.FileNotFoundException: /sys/block/mmcblk0/device/serial (Permission denied) at java.io.FileInputStream.open(Native Method) 为了将来参考,我们(从adb shell测试)拥有ls -ld以下权限: /sys/class/mmc_host但不是/sys/class/mmc_host/mmc0 /sys/block但不是/sys/block/mmcblk0 由于上述方法不再有效, 有没有其他方法可以获得Android 7.0或更高版本中安装的SD卡的序列号? 如果不这样做,谷歌是否有关于提供或不提供此function的计划的任何文件或其他声明? 我没有在Android 问题跟踪器中find任何内容,但也许我没有find正确的搜索引擎。 为了确保问题清楚,我正在谈论在非根设备上运行的普通(非系统)应用程序可以做什么,以及应用程序通常可以请求和接收的任何权限。 仅供参考, /sbin目录似乎不可读,因此像/sbin/udevadm这样的命令不是一个选项。