【问题标题】:How to get Serial number of Android device programmatically如何以编程方式获取 Android 设备的序列号
【发布时间】:2018-10-07 22:34:56
【问题描述】:

如何使用 Android 查找设备的序列号。我需要一个序列号,它位于关于设备 -> 状态 -> 序列号

Build.Serial 返回给我一个不同的值

【问题讨论】:

    标签: android serial-number


    【解决方案1】:

    你可以使用这个获取android序列号

    Build.SERIAL
    

    【讨论】:

      【解决方案2】:

      在 Android 7.1(SDK 25) 之前使用它

      Build.SERIAL

      这适用于 Android 8(SDK 26+)

      Build.getSerial()

      【讨论】:

      • 对我来说,旧电话给我旧操作系统版本的序列号。较新的设备(运行 Oreo 的 S8)给了我 a 序列,但没有 the 序列。含义:我得到一个序列号,但与用户在 UI 中可见的序列号不同(问题中的图像)。不知道这是否是由于安全性或三星特定的事情或什么而引起的混淆。值得注意的是,如果您需要一个号码,您的用户可以在支持情况或其他情况下与您交流。
      【解决方案3】:

      您可以使用此gist 文件获取设备ID。它适用于 android Pie 之前的所有设备。如果您以饼图为目标,则可以在 gist 文件中添加以下代码。

      if (serialNumber.equals("unknown")){
         try {
              if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                 serialNumber = Build.getSerial();
              }
          } catch (SecurityException e) {
              e.printStackTrace();
              Log.d("responseData", String.valueOf(e.getMessage()));
          }
      }
      

      把这段代码放在这行代码上面

      // If none of the methods above worked
      if (serialNumber.equals("")) {
          serialNumber = null;
      }
      

      我在诺基亚 6.1 plus 上尝试过这段代码,它的工作原理。

      【讨论】:

        【解决方案4】:

        其实,

        Build.SERIAL

        在新旧 API 上都能正常工作。 测试: API 16 API 23 API 26 API 28

        【讨论】:

          猜你喜欢
          • 2010-09-11
          • 2011-01-01
          • 2012-07-27
          • 2014-01-08
          • 2014-01-17
          • 2017-08-08
          • 1970-01-01
          • 1970-01-01
          • 2014-05-29
          相关资源
          最近更新 更多