
Ogni dispositivo mobile (modem inclusi) che si collega alla rete telefonica è contraddistinto da un codice identificativo denominato IMEI (International Mobile Equipment Identity).
Tramite l’apparecchio, è possibile conoscerlo inviando il codice *#06# al posto di un numero telefonico, come in una normale telefonata, ma quello che interessa i programmatori spesso è rilevarlo via codice Java nelle app Android.
Tale informazione può essere richiesta al TelephonyManager, un servizio di sistema recuperabile tramite Context.
TelephonyManager tm= (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String imei= tm.getDeviceId();
Le righe dell’esempio permetteranno di ottenerlo in formato stringa. Tale codice può essere utilizzato per estrapolarne informazioni infatti l’lMEI è composto da sezioni (il cui formato, comunque, è variato nel corso degli anni) che indicano modello, produttore e numero di serie del terminale. In alternativa, l’unicità dell’IMEI permette di utilizzarlo nelle nostre app come identificativo del dispositivo.
Si badi che, per poter usufruire di tali funzionalità del TelephonyManager, è necessario aggiungere nel file AndroidManifest.xml il nodo
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
per evitare di evocare una SecurityException. Questo tipo di permission rientra tra quelle classificate dangerous in quanto potenzialmente nociva per la privacy dell’utente pertanto il suo utilizzo è sottoposto alle nuove modalità entrate in vigore con Android 6 (API 23) di cui abbiamo parlato in un articolo precedente.
E voi avete mai coinvolto il codice IMEI di un dispositivo in una vostra app? Commentate e fateci sapere!
No Responses to “Trovare il codice IMEI del dispositivo con il TelephonyManager di Android”