¿Cómo identifica el software Android un teléfono móvil?
El cartel quiere saber por qué hay una diferencia entre teléfonos móviles y emuladores. Los artículos encontrados son:
Android distingue entre emuladores y teléfonos reales
Recientemente. , está promocionando un complemento para la plataforma publicitaria Para evitar que algunos desarrolladores cepillen datos en el simulador, debemos distinguir si actualmente estamos usando un simulador o una máquina real. Buscamos en Baidu en Internet. y encontré un fragmento de código.
, una prueba simple puede lograr nuestro propósito (pero LD dijo que este método no es posible y tiene lagunas), así que publicaré mi código primero y esperaré mi plan de LD
Obtener el teléfono móvil El número de dispositivo del simulador es 000000000000000
[java]TelephonyManager telmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE
String deviceID); = telmgr.getDeviceId();
p>booleano isEmulator = "000000000000000".equalsIgnoreCase(deviceID);
if (isEmulator) {
Log.i ("xml","ID de dispositivo del emulador:" +ID de dispositivo
}
else {
Log.i("xml","ID de dispositivo real); :"+IDdedispositivo);
}
TelephonyManager telmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Cadena ID de dispositivo = telmgr.getDeviceId();
boolean isEmulator = "000000000000000".equalsIgnoreCase(deviceID);
if (isEmulator) {
Log.i("xml","Emulator deviceID: "+ID del dispositivo);
}
else {
Log.i("xml","ID del dispositivo real:"+ID del dispositivo);
}
Devuelve un ID de dispositivo único, por ejemplo, el número ESN, MEID o IMEI de teléfonos móviles GSM y CDMA. Devuelve nulo si el ID del dispositivo no está disponible.
Requiere permiso: READ_PHONE_STATE
-------------------------------- ---------------------
Para evitar dicha detección, la mayoría de las personas no tienen este nivel de habilidad, por lo que el problema del cartel original es básicamente insoluble.