Spanish [B4A] Lectura de SMS

JorgeMC

Member
Licensed User
Longtime User
[B4A] ¿Lectura de SMS?

Buenos días a tod@s:

Este es mi primer mensaje preguntando :sign0137: Llevo varios días intentando leer SMS pero no soy capaz de ello, me estoy volviendo loco, si alguién me pudiera orientar un poco se lo agradecería.

¡ Muchas gracias !

Editado titulo para ver que es una pregunta :BangHead:
 
Last edited:

Atse

Member
Licensed User
Longtime User
Hola JorgeMC espero que no sea muy tarde para ayudarte... :sign0013:

La respuesta es simple en realidad:

Primero agregas la librería Phone(1.70)

Creas un objeto de la siguiente manera:

B4X:
Sub Process_Globals
     Dim SmsIntercept As SmsInterceptor
End Sub

Continuamos con la inicialización del objeto:

B4X:
Sub Activity_Create(FirstTime As Boolean)
     Activity.LoadLayout("main")
     SmsIntercept.Initialize("SmsIntercept")
End Sub

Y ya para finalizar creamos el evento que se lanza al recibir el mensaje, este es completamente nuevo:

B4X:
Sub SmsIntercept_MessageReceived(From As String, Body As String)
     Msgbox(body,from)
End Sub

Cualquier pregunta o duda que tengas me avisas para tratar de ayudarte o resolverla.

Si funciona coloca el tag [SOLUCIONADO] para ayudar a mas personas ;)
 

JorgeMC

Member
Licensed User
Longtime User
Hola JorgeMC espero que no sea muy tarde para ayudarte... :sign0013:

La respuesta es simple en realidad:

Primero agregas la librería Phone(1.70)

Creas un objeto de la siguiente manera:

B4X:
Sub Process_Globals
     Dim SmsIntercept As SmsInterceptor
End Sub

Continuamos con la inicialización del objeto:

B4X:
Sub Activity_Create(FirstTime As Boolean)
     Activity.LoadLayout("main")
     SmsIntercept.Initialize("SmsIntercept")
End Sub

Y ya para finalizar creamos el evento que se lanza al recibir el mensaje, este es completamente nuevo:

B4X:
Sub SmsIntercept_MessageReceived(From As String, Body As String)
     Msgbox(body,from)
End Sub

Cualquier pregunta o duda que tengas me avisas para tratar de ayudarte o resolverla.

Si funciona coloca el tag [SOLUCIONADO] para ayudar a mas personas ;)

Gracias por tu respuesta atse, eso es lo que he logrado hasta anoche que estuve leyendo hasta bien tarde jejejej Os comento lo que necesito hacer por si podemos hacerlo entre todos:

1ª ¿Se pueden leer los SMS que ya están en el movil? O sea, no "interceptarlos", si no también poder leer antiguos.

2ª Como puede leer ese SMS que ha llegado. Os explico. Yo hago una llamada a un GPS Baliza que le tengo puesto a coche y este me devuelve lo siguiente:

lat: 43.446783 long: -002.703648 speed: 000.0 06/12/2011 18:22 bat:F signal:F imei:123456789012345

Ese es el mensaje que recibo sabiendo el número, también existe otro mensaje para si por ejemplo, no hay cobertura, que sería el siguiente:

lat: long: speed: 000.0 06/12/2011 18:22 bat:F signal:L imei:123456789012345

Me entendeis por donde voy ? :D Joder yo en VB.Net sabría como poder leer ese texto, pero aquí ando perdido, entre que tengo que leer el SMS, filtrar si es el número que quiero u otro y todo eso, pufff !!

Muchas gracias de antemano.
 

Atse

Member
Licensed User
Longtime User
Ok empezando por que no entendí... :signOops: vamos por partes...

1ª ¿Se pueden leer los SMS que ya están en el movil? O sea, no "interceptarlos", si no también poder leer antiguos.

2ª Como puede leer ese SMS que ha llegado. Os explico. Yo hago una llamada a un GPS Baliza que le tengo puesto a coche y este me devuelve lo siguiente:

lat: 43.446783 long: -002.703648 speed: 000.0 06/12/2011 18:22 bat:F signal:F imei:123456789012345

Ese es el mensaje que recibo sabiendo el número, también existe otro mensaje para si por ejemplo, no hay cobertura, que sería el siguiente:

lat: long: speed: 000.0 06/12/2011 18:22 bat:F signal:L imei:123456789012345

Lo primero si se puede hacer y tiene el ejemplo en las librerías esta aquí para lo segundo si ando completamente perdido, me imagino que sería recorrer la lista que se crea para lograr sacar la información necesaria.

Avísame como vas para ver que mas le hacemos.
 

JorgeMC

Member
Licensed User
Longtime User
Te comento mas facilmente, necesito que cuando reciba un SMS del numero por ejemplo 611222333, poder leer ese texto, que sería como te dije anteriormente:

B4X:
lat: 43.446783 long: -002.703648 speed: 000.0 06/12/2011 18:22 bat:F signal:F imei:123456789012345

Donde yo necesitaría almacenar las variables, digamos de esta manera:

Dim latSMS as Label
Dim lonSMS as Label
Dim velSMS as Label

latSMS = "43.446783"
lonSMS = "-002.703648"
velSMS = "000.0"

Me entendiste ahora ? Para poder coger esos valores y mostrarlos en un mapa.
 

Atse

Member
Licensed User
Longtime User
Ok, ahora si... tienes recorrer la lista con los mensajes guardados, eso en el ejemplo del código que te indique, y para poder separar el mensaje en las partes que necesitas vas a tener que recorrer el string para separarlo a mano.

Creo que sería mas sencillo con el intercept a menos que lo que necesitas es trazar la ruta de X dispositivo en el mapa...
 

JorgeMC

Member
Licensed User
Longtime User
Ok, ahora si... tienes recorrer la lista con los mensajes guardados, eso en el ejemplo del código que te indique, y para poder separar el mensaje en las partes que necesitas vas a tener que recorrer el string para separarlo a mano.

Creo que sería mas sencillo con el intercept a menos que lo que necesitas es trazar la ruta de X dispositivo en el mapa...

OK, voy a mirarlo. Os pongo el código en cuanto lo tenga por si se puede mejorar o lo que sea, para que sirva de ejemplo. Gracias !
 

Atse

Member
Licensed User
Longtime User
Con gusto hombre, cualquier duda, búscame y me contactas ya sea por msn o skype, están en mi perfil
 
Top