Spanish [SOLUCIONADO]obtener la cuenta de correo del dispositivo.

mvera

Active Member
Licensed User
Longtime User
hola estoy creando un formulario de registro y quiero ahorra al usuario tener que escribirlo su email.

es posible tomar automáticamente la cuenta de email del dispositivo.


saludos.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Mvera

Puedes ver las cuentas de google asi:
B4X:
  Dim r As Reflector
  Dim wAccounts As Map
  wAccounts.Initialize
  r.Target = r.RunStaticMethod("android.accounts.AccountManager", "get", Array As Object(r.GetContext), Array As String("android.content.Context"))
  Dim accounts() As Object
  accounts = r.RunMethod2("getAccountsByType", "com.google", "java.lang.String")
  For i = 0 To accounts.Length - 1
  r.Target = accounts(i)
      wAccounts.Put(r.GetField ("name"), "")
  Next
  For Each account As String In wAccounts.Keys
     Log(account)
   Next

Y si cambias el :
B4X:
accounts = r.RunMethod2("getAccountsByType", "com.google", "java.lang.String")

Por :
B4X:
accounts = r.RunMethod("getAccounts")

Verás todas las cuentas que existen, asi puedes dar a elegir al usuario con la que quiere registrarse ;).

Saludos
 

TheFalcon

Active Member
Licensed User
Longtime User
perdón que reabra este hilo @bgsoft , he probado el código añadiéndole un msgbox para que me muestre el correo :p. Yo solo quiero obtener la cuenta de Gmail, ya que es la que va ligada al playstore.

con este código no me muestra nada
B4X:
accounts = r.RunMethod2("getAccountsByType", "com.google", "java.lang.String")


con este me muestra bien la cuenta de correo, el problema es que este código es el que te muestra todos los correos y yo solo quiero el de gmail.
B4X:
accounts = r.RunMethod("getAccounts")

Alguna idea de por que no me funciona del moto anterior?
 
Top