Autore Topic: Ottenere l'IMEI  (Letto 3953 volte)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Ottenere l'IMEI
« il: 14 Dicembre 2010, 13:57:52 CET »
+2
Codice (Java): [Seleziona]
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
tm.getDeviceId() //restituisce l'IMEI
Postate il LogCat LogCat LogCat LogCat LogCat

Offline wlf

  • Utente normale
  • ***
  • Post: 319
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Ottenere l'IMEI
« Risposta #1 il: 28 Ottobre 2015, 14:34:24 CET »
0
Salve, a quanto pare questo non funziona più con Marshmallow. :/

Avete qualche idea per ottenere un ID univoco per device?

Avevo pensato al mac-address del btAdapter o del wifiAdapter ma mi restituisce 02:00:00:00:00:00! :/
Ci sarebbe l'Android Device id ma quest'ultimo cambia se viene resettato il device! :(

Avete altre idee o suggerimenti per bypassare questi nuovi limiti di Marshmallow?

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Ottenere l'IMEI
« Risposta #2 il: 28 Ottobre 2015, 14:59:54 CET »
0
Perché dici che con Marshmallow non funziona più? A me pare che funzioni ancora.
I numeri contano molto di più del seme.

Offline wlf

  • Utente normale
  • ***
  • Post: 319
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Ottenere l'IMEI
« Risposta #3 il: 28 Ottobre 2015, 15:09:48 CET »
0
Cambia il targetSdkVersion = 23 e sarai accontentato! ;)

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Ottenere l'IMEI
« Risposta #4 il: 28 Ottobre 2015, 16:23:24 CET »
0
Se metti come target 23 devi chiedere all'utente di accettare la permission READ_PHONE_STATE.

Una volta accettata tutto funziona correttamente.
I numeri contano molto di più del seme.

Offline wlf

  • Utente normale
  • ***
  • Post: 319
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Ottenere l'IMEI
« Risposta #5 il: 28 Ottobre 2015, 20:44:19 CET »
0
L'ho messo e la getDeviceId() va in errore.  Hai provato tu stesso?

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Ottenere l'IMEI
« Risposta #6 il: 29 Ottobre 2015, 09:22:42 CET »
0
Sì e poi qui non dice niente che è stato rimosso:

TelephonyManager | Android Developers()
I numeri contano molto di più del seme.

Offline wlf

  • Utente normale
  • ***
  • Post: 319
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Ottenere l'IMEI
« Risposta #7 il: 29 Ottobre 2015, 10:35:29 CET »
0
Le condizioni per farlo andare in errore sono:

- targetSdkVersion = 23 (nel Manifest ho sempre avuto  <uses-permission android:name="android.permission.READ_PHONE_STATE" />)
- Esecuzione su Marshmallow

Su Lollipop e versioni precedenti funziona senza battere ciglio. Io l'ho testato su un Nexus 5 e va in errore; tu su cosa l'hai verificato?

Penso di non essermelo sognato; anche altri lo stanno segnalando! Ma sembra che Google stia facendo orecchie da mercante, non rispondono chiaramente ... è dal 21 agosto che sono al corrente del problema e non hanno ancora aggiornato Marshmallow. Perché questo comportamento omertoso?


Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Ottenere l'IMEI
« Risposta #8 il: 29 Ottobre 2015, 10:40:35 CET »
0
A me sembra che il problema:

Codice (XML): [Seleziona]
Caused by: java.lang.SecurityException: getDeviceId: Neither user 10137 nor current process has android.permission.READ_PHONE_STATE
sia che non è stata accettata la permission READ_PHONE_STATE.

Prova a vedere sotto le impostazioni dell'applicazione alla voce permission e vedere se è autorizzata o meno.
I numeri contano molto di più del seme.

Offline wlf

  • Utente normale
  • ***
  • Post: 319
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Ottenere l'IMEI
« Risposta #9 il: 29 Ottobre 2015, 12:21:56 CET »
0
Guarda che tale errore viene causato da Marshmallow; nei permessi dell'App tale permesso è attivo ma evidentemente Marshmallow se ne infischia!

Ripeto la domanda; tu su che dispositivo l'hai verificato?

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Ottenere l'IMEI
« Risposta #10 il: 29 Ottobre 2015, 12:57:26 CET »
0
Non ho dispositivi con Marshmallow. L'ho testato sull'emulatore.
I numeri contano molto di più del seme.

Offline wlf

  • Utente normale
  • ***
  • Post: 319
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Ottenere l'IMEI
« Risposta #11 il: 29 Ottobre 2015, 14:45:53 CET »
0
Non ho dispositivi con Marshmallow. L'ho testato sull'emulatore.

Beh, allora ecco spiegato il  motivo; anche a me con l'emulatore Android gira mentre con lo smartphone fisico no! :(
Ottendo addirittura un IMEI 000000000000000.

Comunque se hai letto il link che ho postato ci sono in diverse persone che stanno lamentando lo stesso comportamento anomalo; sarebbe interessante provare magari su un 5X o un 6P oppure addirittura qualche altro smartphone di brand famosi ...


Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Ottenere l'IMEI
« Risposta #12 il: 29 Ottobre 2015, 16:14:19 CET »
0
Purtroppo io non posso testarlo.

In ogni caso dipende a cosa ti serve l'IMEI, io ho optato per un'altra soluzione così mi sono tolta una permission che, vista la politica dalla 23 in avanti, non è male.
I numeri contano molto di più del seme.

Offline wlf

  • Utente normale
  • ***
  • Post: 319
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Ottenere l'IMEI
« Risposta #13 il: 29 Ottobre 2015, 20:55:51 CET »
0
A me serve per ottenere l'univocità del dispositivo; praticamente un utente non possa "duplicare" lo stesso account su più dispositivi.
L'Android Device Id potrebbe cambiare; se uno reinstalla il dispositivo questo cambia ... :(
Avrei optato per i mac-address ma anche questi sono stati "bloccati" con degli indirizzi fittizi! :(

Offline ilmagowalter

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Mostra profilo
Re:Ottenere l'IMEI
« Risposta #14 il: 25 Febbraio 2016, 21:12:49 CET »
0
non sono un espertissimo, ma da quello che ho capito,
su marshmallow, devi andare ad abilitare il permesso manualmente dopo aver installato l'apk