android.os.Build#SERIAL源码实例Demo

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

源代码1 项目: Android-Commons   文件: Identity.java
/**
 * Returns an identifier that is unique for this device
 *
 * The identifier is usually reset when performing a factory reset on the device
 *
 * On devices with multi-user capabilities, each user usually has their own identifier
 *
 * In general, you may not use this identifier for advertising purposes
 *
 * @param context a context reference
 * @return the unique identifier
 */
@SuppressLint("NewApi")
public static String getDeviceId(final Context context) {
	if (mDeviceId == null) {
		final String androidId = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);

		if (androidId != null && !androidId.equals("") && !androidId.equalsIgnoreCase("9774d56d682e549c")) {
			mDeviceId = androidId;
		}
		else {
			if (Build.VERSION.SDK_INT >= 9) {
				if (Build.SERIAL != null && !Build.SERIAL.equals("")) {
					mDeviceId = Build.SERIAL;
				}
				else {
					mDeviceId = getInstallationId(context);
				}
			}
			else {
				mDeviceId = getInstallationId(context);
			}
		}
	}

	return mDeviceId;
}
 
源代码2 项目: AppOpsXposed   文件: BugReportBuilder.java
private String getDeviceId()
{
	final String raw = Build.SERIAL + Build.FINGERPRINT;

	byte[] bytes;

	try
	{
		final MessageDigest md = MessageDigest.getInstance("SHA1");
		bytes = md.digest(raw.getBytes());
	}
	catch(NoSuchAlgorithmException e)
	{
		bytes = raw.getBytes();
	}

	final StringBuilder sb = new StringBuilder(bytes.length);
	for(byte b : bytes)
		sb.append(Integer.toString((b & 0xff ) + 0x100, 16).substring(1));

	return sb.substring(0, 12);
}
 
源代码3 项目: Android   文件: SignupFragment.java
private void getDetailsMANUFACTURER() {
    //==============================
    Field[] fields = Build.VERSION_CODES.class.getFields();
    String osName = fields[Build.VERSION.SDK_INT + 1].getName();
    ////===============================
    Details_MANUFACTURER =
            "SERIAL: " + Build.SERIAL + "\n" +
                    "MODEL: " + Build.MODEL + "\n" +
                    "ID: " + Build.ID + "\n" +
                    "Manufacture: " + Build.MANUFACTURER + "\n" +
                    "Brand: " + Build.BRAND + "\n" +
                    "Type: " + Build.TYPE + "\n" +
                    "User: " + Build.USER + "\n" +
                    "BASE: " + Build.VERSION_CODES.BASE + "\n" +
                    "INCREMENTAL: " + Build.VERSION.INCREMENTAL + "\n" +
                    "SDK:  " + Build.VERSION.SDK +" OS:"+osName+ "\n" +
                    "BOARD: " + Build.BOARD + "\n" +
                    "BRAND: " + Build.BRAND + "\n" +
                    "HOST: " + Build.HOST + "\n" +
                    "FINGERPRINT: " + Build.FINGERPRINT + "\n" +
                    "Version Code: " + Build.VERSION.RELEASE +
                    "Display : " + Build.DISPLAY;
    //Log.e("TAG",Details_MANUFACTURER);
}
 
源代码4 项目: android   文件: SysUtils.java
/**
 * 获取手机信息
 *
 * @param context
 */
public static void printSystemInfo(Context context) {
    try {
        // MAC地址(如:1C:B0:94:ED:6C:AC)
        WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        WifiInfo info = manager.getConnectionInfo();
        String macAddress = info.getMacAddress();

        // imei maybe null
        TelephonyManager TelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        String imei = TelephonyMgr.getDeviceId();

    } catch (Exception e) {
        e.printStackTrace();
    }

    int sdk = Build.VERSION.SDK_INT;// API版本号(如:14)
    String version = Build.VERSION.RELEASE; // 系统版本号(如:4.0)
    String model = Build.MODEL;// 手机型号(如:Galaxy Nexus)
    String serial = Build.SERIAL;
}
 
源代码5 项目: test-butler   文件: AdbDevice.java
@SuppressLint("HardwareIds")
@TargetApi(Build.VERSION_CODES.O)
@Nullable
private static AdbDevice findCurrentDevicePreO(List<AdbDevice> devices) {
    // first try using device serial
    String serial = Build.SERIAL;
    for (AdbDevice device : devices) {
        if (serial.equals(device.deviceId)) {
            return device;
        }
    }
    return null;
}
 
源代码6 项目: 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;
}
 
源代码7 项目: 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);
}
 
源代码8 项目: Android-SDK   文件: Messaging.java
static void init( Context context )
{
  if( android.os.Build.VERSION.SDK_INT < 27 )
    id = Build.SERIAL;
  else
    id = Settings.Secure.getString( context.getContentResolver(), Settings.Secure.ANDROID_ID );
}
 
源代码9 项目: line-sdk-android   文件: StringCipher.java
@NonNull
private String generateDevicePackageSpecificId(@NonNull Context context) {
    @SuppressLint("HardwareIds")
    String androidId = Settings.Secure.getString(
            context.getContentResolver(), Settings.Secure.ANDROID_ID);

    String serial = isSerialIncludedInDevicePackageSpecificId ? Build.SERIAL : "";

    return Build.MODEL + Build.MANUFACTURER + serial + androidId + context.getPackageName();
}
 
源代码10 项目: NoVIP   文件: DeviceUtils.java
public static String getUniqueId(Context context) {
    String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
    String id = androidID + Build.SERIAL;
    try {
        return toMD5(id);
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
        return id;
    }
}
 
源代码11 项目: CrashReporter   文件: AppUtils.java
public static String getDeviceDetails(Context context) {

        return "Device Information\n"
                + "\nDEVICE.ID : " + getDeviceId(context)
                + "\nUSER.ID : " + getUserIdentity(context)
                + "\nAPP.VERSION : " + getAppVersion(context)
                + "\nLAUNCHER.APP : " + getCurrentLauncherApp(context)
                + "\nTIMEZONE : " + timeZone()
                + "\nVERSION.RELEASE : " + Build.VERSION.RELEASE
                + "\nVERSION.INCREMENTAL : " + Build.VERSION.INCREMENTAL
                + "\nVERSION.SDK.NUMBER : " + Build.VERSION.SDK_INT
                + "\nBOARD : " + Build.BOARD
                + "\nBOOTLOADER : " + Build.BOOTLOADER
                + "\nBRAND : " + Build.BRAND
                + "\nCPU_ABI : " + Build.CPU_ABI
                + "\nCPU_ABI2 : " + Build.CPU_ABI2
                + "\nDISPLAY : " + Build.DISPLAY
                + "\nFINGERPRINT : " + Build.FINGERPRINT
                + "\nHARDWARE : " + Build.HARDWARE
                + "\nHOST : " + Build.HOST
                + "\nID : " + Build.ID
                + "\nMANUFACTURER : " + Build.MANUFACTURER
                + "\nMODEL : " + Build.MODEL
                + "\nPRODUCT : " + Build.PRODUCT
                + "\nSERIAL : " + Build.SERIAL
                + "\nTAGS : " + Build.TAGS
                + "\nTIME : " + Build.TIME
                + "\nTYPE : " + Build.TYPE
                + "\nUNKNOWN : " + Build.UNKNOWN
                + "\nUSER : " + Build.USER;
    }
 
源代码12 项目: NoteCrypt   文件: PRNGFixes.java
/**
 * Gets the hardware serial number of this device.
 *
 * @return serial number or {@code null} if not available.
 */
private static String getDeviceSerialNumber() {
    try {
        return Build.SERIAL;
    } catch (Exception ignored) {
        return null;
    }
}
 
源代码13 项目: letv   文件: Device.java
@TargetApi(9)
private static String getSerial() {
    try {
        return Build.SERIAL;
    } catch (Throwable e) {
        FLOG.w(TAG, "get serial failed(Throwable): " + e.getMessage());
        return null;
    }
}
 
源代码14 项目: batteryhub   文件: Specifications.java
/**
 * Returns the build serial number. May only work for 2.3 and up.
 *
 * @return the build serial number.
 */
public static String getBuildSerial() {
    // TODO: Review this approach
    // return android.os.Build.Serial;
    // return System.getProperty("ro.serial", TYPE_UNKNOWN);
    return Build.SERIAL;
}
 
源代码15 项目: 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;
}
 
源代码16 项目: xpay   文件: AppUtil.java
public static String getUniqueId(Context context) {
    String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
    String id = androidID + Build.SERIAL;
    return toMD5(id);
}
 
源代码17 项目: letv   文件: ConnectingHelper.java
public static boolean register(Context context, long j, boolean z) {
    byte[] bArr = new byte[128];
    String a = h.a(context);
    String b = h.b(context);
    String a2 = cn.jpush.android.util.a.a(context, z[22]);
    String j2 = cn.jpush.android.util.a.j(context);
    String i = cn.jpush.android.util.a.i(context);
    String g = cn.jpush.android.util.a.g(context, " ");
    String i2 = cn.jpush.android.util.a.i(context, " ");
    String str = Build.SERIAL;
    if (ai.a(j2)) {
        j2 = " ";
    }
    if (ai.a(i)) {
        i = " ";
    }
    if (ai.a(g)) {
        g = " ";
    }
    if (ai.a(i2)) {
        i2 = " ";
    }
    if (ai.a(str) || z[54].equalsIgnoreCase(str)) {
        str = " ";
    }
    a.l(i2);
    a.m(i);
    a.n(g);
    str = cn.jpush.android.util.a.a + z[59] + j2 + z[59] + i2 + z[59] + i + z[59] + g + z[59] + str;
    new StringBuilder(z[52]).append(a).append(z[55]).append(b).append(z[51]).append(a2).append(z[56]).append(str);
    z.b();
    if (PushProtocol.RegPush(j, a.k(), a, b, a2, str) == -991) {
        return false;
    }
    int RecvPush = PushProtocol.RecvPush(j, bArr, 30);
    if (RecvPush > 0) {
        h a3 = d.a(bArr);
        if (a3 == null) {
            z.e();
            return false;
        }
        a3.toString();
        z.b();
        if (a3.d() != 0) {
            z.e();
            return false;
        }
        k kVar = (k) a3;
        RecvPush = kVar.g;
        a.c(context, RecvPush);
        if (RecvPush == 0) {
            long a4 = kVar.a();
            g = kVar.g();
            i2 = kVar.h();
            a = kVar.i();
            z.c(z[2], new StringBuilder(z[48]).append(a4).append(z[57]).append(i2).append(z[53]).append(a).toString());
            new StringBuilder(z[61]).append(g);
            z.a();
            if (ai.a(i2) || 0 == a4) {
                z.e(z[2], z[50]);
            }
            cn.jpush.android.util.a.j(context, a);
            a.a(a4, g, i2, a, e.f);
            e.g = a4;
            e.h = g;
            if (!z) {
                cn.jpush.android.util.a.a(context, z[64], z[68], i2);
            }
            return true;
        }
        z.e(z[2], new StringBuilder(z[62]).append(RecvPush).append(z[67]).append(kVar.h).toString());
        i = cn.jpush.android.service.r.a(RecvPush);
        if (i != null) {
            z.d(z[2], new StringBuilder(z[66]).append(i).toString());
        }
        if (LiveRoomConstant.LIVE_ROOM_LOADER_HK_VARIETY_ID == RecvPush) {
            a.o();
        } else if (LiveRoomConstant.LIVE_ROOM_LOADER_HK_MUSIC_ID == RecvPush) {
            z.c();
        } else if (LiveRoomConstant.LIVE_ROOM_LOADER_HK_TVSERIES_ID == RecvPush) {
            j2 = new StringBuilder(z[58]).append(e.c).append(z[60]).append(e.f).append(z[65]).toString();
            cn.jpush.android.util.a.c(context, j2, j2);
            a.o();
        } else if (1009 == RecvPush) {
            a.o();
        } else {
            new StringBuilder(z[63]).append(RecvPush);
            z.c();
        }
    } else {
        z.e(z[2], new StringBuilder(z[49]).append(RecvPush).toString());
    }
    return false;
}
 
源代码18 项目: Ticket-Analysis   文件: DeviceUidGenerator.java
public static String generate(Context context) throws Exception {
      Monitor.start();
      String uid;
      while (true) {
          TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
          uid = tm.getDeviceId();
          if (!TextUtils.isEmpty(uid)) {
              Monitor.log("from imei");
              break;
          }

          WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
          WifiInfo info = wifi.getConnectionInfo();
          uid = info.getMacAddress();
          if (!TextUtils.isEmpty(uid)) {
              Monitor.log("from mac");
              break;
          }

          if (Build.VERSION.SDK_INT >= 9 && !TextUtils.isEmpty(Build.SERIAL)
                  && !"unknown".equalsIgnoreCase(Build.SERIAL)) {
              uid = Build.SERIAL;
              Monitor.log("from serial id");
              break;
          }

          String androidId = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
          if (!TextUtils.isEmpty(androidId) && !BuildConfig.DEVICE_ID.equals(androidId)) {
              uid = androidId;
              Monitor.log("from android id");
              break;
          }

          try {
              uid = fromUuid(context);
              Monitor.log("from uuid");
              break;
          } catch (Exception e) {
              Monitor.finish("Could not generate uid from device!!!");
              throw new RuntimeException("Could not generate uid from device!!!");
          }
      }

/*//uid 服务器长度
if (uid.length() > 14) {
	uid = uid.substring(0, 13);
}*/
      Monitor.finish(uid);
      return uid;
  }
 
源代码19 项目: product-emm   文件: DeviceInfo.java
/**
 * Returns the hardware serial number.
 * @return - Hardware serial number.
 */
public String getDeviceSerialNumber() {
	return Build.SERIAL;
}
 
源代码20 项目: ONE-Unofficial   文件: SysUtil.java
/**
 * 获得设备序列号,但在某些山寨或定制设备上会得到垃圾数据
 * @return 手机设备序列号
 */
public static String getPhoneSerial(){
    return Build.SERIAL;
}