代码之家  ›  专栏  ›  技术社区  ›  Mathias Conradt

如何读取三星设备上的序列号(从应用程序内/设备上)?

  •  1
  • Mathias Conradt  · 技术社区  · 14 年前

    如何读取设备 三星Android手机 (与您调用“adb设备”时得到的值相同),但来自应用程序或设备;不使用PC/USB/adb。

    我为HTC和其他设备找到了一个解决方案,那就是——打电话

    getprop ro.serialno
    

    如本文所述,

    http://groups.google.com/group/android-developers/browse_thread/thread/3d57b1a214cdf928

    但它在三星Galaxy S上不起作用。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Community CDub    8 年前

    编辑: 你也可以检查一下我的 other answer 关于这个话题。

    我不确定这个问题刚发布时是否可能。然而,3年后,这是可能的:

    public static String getManufacturerSerialNumber() {
      String serial = null; 
      try {
          Class<?> c = Class.forName("android.os.SystemProperties");
          Method get = c.getMethod("get", String.class, String.class);
          serial = (String) get.invoke(c, "ril.serialnumber", "unknown");
      } catch (Exception ignored) {}
      return serial;
    }
    
        2
  •  0
  •   Mathias Conradt    14 年前

    我的结论是,这在三星是不可能的。

        3
  •  0
  •   Himanshu Khandelwal    11 年前

    试试看{

            Class<?> c = Class.forName("android.os.SystemProperties");
    
            Method get = c.getMethod("get", String.class, String.class);
    
            serialnum = (String) (get.invoke(c, "sys.serialnumber", "unknown"));
    
        } catch (Exception ignored) {
    
            serialnum = "unknown";
    
        }