En iyi sorularımdan birini gördüm Is there a unique Android device ID?MarshMallow uyarıldıktan sonra benzersiz Android Aygıt Kimliği uyarısı "aygıt tanımlayıcılarını al önerilmez" uyarısı?
Benzersiz Kimlik almak için aşağıdaki kodu kullandım. cihaz tanımlayıcıları almak için getString kullanma
önerilmez:
public static String getDeviceId(Activity context) { PermissionsChecker checker = new PermissionsChecker(context); if (checker.lacksPermissions(Manifest.permission.READ_PHONE_STATE)) PermissionsActivity.startActivityForResult(context, 0, REQUIRED_PERMISSION); else { TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); final String tmDevice = tm.getDeviceId(); final String androidId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); UUID deviceUuid = new UUID(androidId.hashCode(), ((long) tmDevice.hashCode() << 32)); return deviceUuid.toString(); } return null; }
Ama şöyle
tm.getDeviceId();
ve
Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
üzerinde vurgulu bazı uyarı alıyorum . Aygıt tanımlayıcılarını kullanmak, yüksek değerde sahteciliği önleme ve gelişmiş telefon kullanım durumları dışında tavsiye edilmez. Kullanım koşullarında reklamları için AdvertisingIdClient $ Info # getId ve analitik için InstanceId # getId kullanın.
bir çözüm var mı? Zararlı mı yoksa başka bir şey mi?
IMEI numarasını benzersiz tanımlayıcı olarak kullanabilirsiniz. Ve bu şimdi sadece bir gün hacker kök telefonları olarak uyarı ve cihaz kimliğini değiştirmek. –
Geri yükleme fabrikadan sonra değişecektir. Bunu istemiyorum. –
Hayır, IMEI Her durumda değişmeyecek. –