Ciao a tutti! Ho scoperto solo adesso che esiste il forum in Italiano XD Ero abituato ad utilizzare il classico in inglese...
Ho sviluppato un'app per un'azienda, la quale richiede il censimento dei dispositivi in modo da controllare, lato server, se il dispositivo che utilizza l'app in questione è tra quelli abilitati dall'azienda stessa. In precedenza lo facevo leggendo semplicemente l'IMEI del dispositivo, in modo che fosse univoco, tramite il seguente:
B4X:
Dim TabletInfo As PhoneId
Dim imei As String = TabletInfo.GetDeviceId.Trim
dim iccid As String = TabletInfo.GetSimSerialNumber
Adesso che dalle nuove versioni di Android non è più possibile leggere questi dati, cosa mi consigliate di utilizzare, in modo che siano il più univoco possibile? Tenete conto che l'app viene installata manualmente e non tramite il Play Store (che non viene neanche configurato con un account Google, ogni dispositivo non possiede un account), quindi non posso utilizzare il "advertising id". Grazie mille!
Ah grazie, pensavo si dovesse collegare ad un account, per avere un id.
E se invece volessi leggere l'Android-id? Cioè l'id dell'installazione corrente, che cambia solo se si esegue un factory reset
Hi all. Is it safe to use a code like this to get unique phone id? It works on my Android 10 phone today. But what about tomorrow? Or Advertising ID is a only safe way? Sub GenerateID() As String Try Dim P As Phone Dim IDAndroid As String=P.GetSettings("android_id")...
Hi all. Is it safe to use a code like this to get unique phone id? It works on my Android 10 phone today. But what about tomorrow? Or Advertising ID is a only safe way? Sub GenerateID() As String Try Dim P As Phone Dim IDAndroid As String=P.GetSettings("android_id")...
Sub GetDeviceId As String
Dim r As Reflector
Dim Api As Int
Api = r.GetStaticField("android.os.Build$VERSION", "SDK_INT")
If Api < 9 Then
'Old device
If File.Exists(File.DirInternal, "__id") Then
Return File.ReadString(File.DirInternal, "__id")
Else
Dim id As Int
id = Rnd(0x10000000, 0x7FFFFFFF)
File.WriteString(File.DirInternal, "__id", id)
Return id
End If
Else
'New device
Return r.GetStaticField("android.os.Build", "SERIAL")
End If
End Sub
tra l'altro si può semplificare in:
B4X:
Sub GetDeviceId As String
Dim r As Reflector
Return r.GetStaticField("android.os.Build", "SERIAL")
End Sub
dato che con API < 9 praticamente non c'è più nulla
io per distinguere gli smartphone non uso ID advertising ne Android ID.
Semplicemente gli sgarri un chiodo sullo schermo è così lo dustinguo dall'altro che l'ho graffiato dal lato della batteria che ovviamente è diverso da quelli che ha il vetrino della fotocamera scheggiato o da quello che ha il tasto del volume staccato
io per distinguere gli smartphone non uso ID advertising ne Android ID.
Semplicemente gli scatti un chiodo sullo schermo è così lo dustinguo dall'altro che l'ho graffiato dal lato della batteria che ovviamente è diverso da quelli che ha il vetrino della fotocamera scheggiato o da quello che ha il tasto del volume staccato
Sub GetDeviceId As String
Dim r As Reflector
Dim Api As Int
Api = r.GetStaticField("android.os.Build$VERSION", "SDK_INT")
If Api < 9 Then
'Old device
If File.Exists(File.DirInternal, "__id") Then
Return File.ReadString(File.DirInternal, "__id")
Else
Dim id As Int
id = Rnd(0x10000000, 0x7FFFFFFF)
File.WriteString(File.DirInternal, "__id", id)
Return id
End If
Else
'New device
Return r.GetStaticField("android.os.Build", "SERIAL")
End If
End Sub
tra l'altro si può semplificare in:
B4X:
Sub GetDeviceId As String
Dim r As Reflector
Return r.GetStaticField("android.os.Build", "SERIAL")
End Sub
dato che con API < 9 praticamente non c'è più nulla