Android 是否可以在移动电话中获得4位数的唯一号码

Android 是否可以在移动电话中获得4位数的唯一号码,android,Android,我想从手机中获取唯一的ID。我知道IMEI代码是唯一的,但对我来说太长了。我只想获取手机信息中最多4个唯一的数字。设置。安全的安卓ID将安卓ID作为唯一的64位十六进制字符串返回 import android.provider.Settings.Secure; private String android_id = Secure.getString(getContext().getContentResolver(),

我想从手机中获取唯一的ID。我知道IMEI代码是唯一的,但对我来说太长了。我只想获取手机信息中最多4个唯一的数字。

设置。安全的安卓ID
将安卓ID作为唯一的64位十六进制字符串返回

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID); 
获取唯一设备id的另一种方法是

final TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (mTelephony.getDeviceId() != null) {
    String deviceId = mTelephony.getDeviceId();
}
并将其添加到清单中

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

设置。安全的安卓ID
将安卓ID作为唯一的64位十六进制字符串返回

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID); 
获取唯一设备id的另一种方法是

final TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (mTelephony.getDeviceId() != null) {
    String deviceId = mTelephony.getDeviceId();
}
并将其添加到清单中

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Android id是唯一的字符串。你可以用这个

另一种方法是使用MAC。MAC地址也是唯一的。它的长度是48位。 使用下面的方法获取MAC

WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = manager.getConnectionInfo();
String address = info.getMacAddress();

如果您想要精确的4位数字,可以使用任何常用的哈希算法。

Android id是唯一的字符串。你可以用这个

另一种方法是使用MAC。MAC地址也是唯一的。它的长度是48位。 使用下面的方法获取MAC

WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = manager.getConnectionInfo();
String address = info.getMacAddress();

如果您想要精确的4位数字,可以使用任何常用的哈希算法。

这在所有安装了您的应用程序的设备上是否都是唯一的?请使用哈希函数和IMEI作为参数。然而,我想知道为什么只有4位数字…即使在一个长的唯一数字上使用散列,在第一台9999设备之后,您也可以保证有重复的数字。实际上,您可能会在第二台设备上得到一个副本。因此,您需要一种处理冲突的方法。这在所有安装了您的应用程序的设备中是否都是唯一的?请使用哈希函数和IMEI作为参数。然而,我想知道为什么只有4位数字…即使在一个长的唯一数字上使用散列,在第一台9999设备之后,您也可以保证有重复的数字。实际上,您可能会在第二台设备上得到一个副本。因此,您需要一种处理碰撞的方法。