android.os.Build#getSerial ( )源码实例Demo

下面列出了android.os.Build#getSerial ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@SuppressLint("MissingPermission")
public static String getSerialno() {
    String serialno = "";
    try {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            serialno = Build.getSerial();
        } else {
            serialno = PropertiesGet.getString("ro.serialno");
            if (TextUtils.isEmpty(serialno)) {
                serialno = Build.SERIAL;
            }
        }
    } catch (Exception e) {
    }
    return serialno;
}
 
源代码2 项目: react-native-device-info   文件: RNDeviceModule.java
@SuppressLint({"HardwareIds", "MissingPermission"})
@ReactMethod(isBlockingSynchronousMethod = true)
public String getSerialNumberSync() {
  try {
    if (Build.VERSION.SDK_INT >= 26) {
      if (getReactApplicationContext().checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
        return Build.getSerial();
      }
    }
  } catch (Exception e) {
    // This is almost always a PermissionException. We will log it but return unknown
    System.err.println("getSerialNumber failed, it probably should not be used: " + e.getMessage());
  }

  return "unknown";
}
 
源代码3 项目: DevUtils   文件: PhoneUtils.java
/**
 * 获取设备序列号
 * @return 设备序列号
 */
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
public static String getSerialNumber() {
    try {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? Build.getSerial() : Build.SERIAL;
    } catch (Exception e) {
        LogPrintUtils.eTag(TAG, e, "getSerialNumber");
    }
    return null;
}
 
源代码4 项目: MobileInfo   文件: PhoneIdHelper.java
/**
 * 返回自己生产的唯一表示
 * @return
 */
@SuppressLint({"MissingPermission", "HardwareIds"})
public static String getUniqueID() {
    // If all else fails, if the user does have lower than API 9 (lower
    // than Gingerbread), has reset their phone or 'Secure.ANDROID_ID'
    // returns 'null', then simply the ID returned will be solely based
    // off their Android device information. This is where the collisions
    // can happen.
    // Thanks http://www.pocketmagic.net/?p=1662!
    // Try not to use DISPLAY, HOST or ID - these items could change.
    // If there are collisions, there will be overlapping data
    String m_szDevIDShort = "35" +
            (Build.BOARD.length() % 10)
            + (Build.BRAND.length() % 10)
            + (Build.CPU_ABI.length() % 10)
            + (Build.DEVICE.length() % 10)
            + (Build.MANUFACTURER.length() % 10)
            + (Build.MODEL.length() % 10)
            + (Build.PRODUCT.length() % 10);

    // Thanks to @Roman SL!
    // http://stackoverflow.com/a/4789483/950427
    // Only devices with API >= 9 have android.os.Build.SERIAL
    // http://developer.android.com/reference/android/os/Build.html#SERIAL
    // If a user upgrades software or roots their phone, there will be a duplicate entry
    String serial = "serial";
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        try {
            serial=Build.getSerial();
        } catch (Exception e) {
        }
    } else {
        serial=Build.SERIAL;
    }
    // Thanks @Joe!
    // http://stackoverflow.com/a/2853253/950427
    // Finally, combine the values we have found by using the UUID class to create a unique identifier
    return new UUID(m_szDevIDShort.hashCode(), serial.hashCode()).toString();
}
 
源代码5 项目: AndroidUtilCode   文件: PhoneUtils.java
/**
 * Return the serial of device.
 *
 * @return the serial of device
 */
@SuppressLint("HardwareIds")
@RequiresPermission(READ_PHONE_STATE)
public static String getSerial() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
        try {
            return Build.getSerial();
        } catch (SecurityException e) {
            e.printStackTrace();
            return "";
        }
    }
    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? Build.getSerial() : Build.SERIAL;
}
 
源代码6 项目: easydeviceinfo   文件: EasyDeviceMod.java
/**
 * Gets serial.
 *
 * @return the serial
 */
@SuppressLint("HardwareIds")
public final String getSerial() {
  String result = null;
  if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
    result = Build.SERIAL;
  } else {
    if (PermissionUtil.hasPermission(context, Manifest.permission.READ_PHONE_STATE)) {
      result = Build.getSerial();
    }
  }
  return CheckValidityUtil.checkValidData(result);
}
 
源代码7 项目: Box   文件: DeviceUtils.java
@SuppressLint("MissingPermission")
@RequiresPermission(READ_PHONE_STATE)
public static String getSN() {
    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? Build.getSerial() : Build.SERIAL;
}
 
源代码8 项目: Android-utils   文件: DeviceUtils.java
@SuppressLint("HardwareIds")
@RequiresPermission(READ_PHONE_STATE)
public static String getSerial() {
    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? Build.getSerial() : Build.SERIAL;
}
 
源代码9 项目: Box   文件: DeviceUtils.java
@SuppressLint("MissingPermission")
@RequiresPermission(READ_PHONE_STATE)
public static String getSN() {
    return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? Build.getSerial() : Build.SERIAL;
}
 
源代码10 项目: BaseProject   文件: DeviceUtil.java
/**
 * 返回序列号 (Android 2.3以上可以使用此方法)
 */
public String getSerialNumber() {
    String serialNumber = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? Build.getSerial() : Build.SERIAL;
    return TextUtils.isEmpty(serialNumber) ? "" : serialNumber;
}