如何获取任何应用ID和设备ID组合的唯一ID。例如,一个应用程序的包名称为" com.myapp"并且android设备具有唯一的Id(可以是wifi mac地址,蓝牙id或UDID)。这两者的结合应该是独一无二的。即使我再次卸载并安装应用程序,也应生成相同的ID。如果有一些其他应用程序使用相同的技术并且在同一部手机上,则唯一ID应该与我的应用程序不同,因为它们具有不同的包名称。此外,我应该在不同的手机上为我的同一个应用程序获取不同的ID。
是否有可用于我目的的本机ID?任何帮助都将非常感谢。 TIA。
答案 0 :(得分:0)
试试这个
public static String getUniqueDeviceId(Context mContext) {
String device_id = Settings.Secure.getString(
mContext.getContentResolver(), Settings.Secure.ANDROID_ID);
if ((device_id == null) || (device_id.equals("9774d56d682e549c"))
|| (device_id.length() < 15)) {
device_id = new BigInteger(64, new SecureRandom()).toString(16);
}
Log.d("device_id", device_id);
return device_id;
}
答案 1 :(得分:0)
要获取您的设备ID,您应该使用
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String mDeviceID = telephonyManager.getDeviceId();
现在附上您的应用程序包名称以获取应用程序的唯一ID。是的,卸载并重新安装应用程序时,此唯一标识符将保持不变。
不要忘记在清单中添加此权限。感谢@ deepu513的评论。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>