Spanish Doble DeviceId

Duque

Active Member
Licensed User
Longtime User
Hola amigos !

Con la librería PHONE obtengo el id del teléfono y esta muy bien,
pero cuando el teléfono es DUO (Doble Sim) estos traen dos DeviceId, como le hago para que la app detecte los dos.
 

Duque

Active Member
Licensed User
Longtime User
Gracias amigo por responder.
navegando en el foro me hicieron cambiar de rumbo ahora estoy tratando de identificar cada teléfono con este código que encontré en el foro
B4X:
Dim p As Phone
Dim id As String
Dim ref As Reflector
Dim Api As Int

 Api = ref.GetStaticField("android.os.Build$VERSION", "SDK_INT")

  If Api < 9 Then
    'dispositivo antiguo
    id= p.GetSettings("android_id")
  Else
    'Nuevo dispositivo
    id= ref.GetStaticField("android.os.Build", "SERIAL")
    If id.ToLowerCase = "unknown" Then id= p.GetSettings("android_id")
  End If

  Return id
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Yo lo haria mas seguro buscando la palabra "unknown" en vez de comparar, por que si te viene con espacio o algún otro caracter al inicio o fin ya no la reconocerá, ademas de eso añadir un id que en algunos dispositivos chinos vienen en todos igual, me he encotrado en una misma marca y dispositivos diferentes el id 1234567890ABCDEF , también me he encontrado del 1 al 9 así que si añades esa comprobacion te evitas problemas. Esto ya lo he comentado en algunos post de aqui.

B4X:
Sub LeerIdDispositivo() As String
Dim p As Phone
Dim id, id1 As String
Dim r As Reflector
Dim Api As Int


  Api = r.GetStaticField("android.os.Build$VERSION", "SDK_INT")

  If Api < 9 Then
    'dispositivo antiguo
    id= p.GetSettings("android_id")
  Else
    'dispositivo nuevo
    id= r.GetStaticField("android.os.Build", "SERIAL")
    id1 = id.ToLowerCase
    If id1.Contains ("unknown") Or id1.Contains("123456789") Then id= p.GetSettings("android_id")
  End If
 
      
        
  Return id

End Sub

Saludos
 

Duque

Active Member
Licensed User
Longtime User
Me perdí de esa parte con lo dispositivos nuevos

pero gracias por la información y por facilitar la edición de esa condición.

Gracias :cool:
 
Top