Spanish Ayuda para enviar SMS

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Hola. Estoy intentando enviar SMS pero no lo consigo.

Parece que el envío se hace, ya que en el programa no me salta ningún mensaje de error. Pero en el teléfono de destino no recibo nada.

Lo estoy intentando así:

B4X:
Sub BtnEnviar_Click
    Dim port As Short = 90
    Dim Destination As String = EditNumber.Text
    Dim Data() As Byte = EditText1.text.GetBytes("UTF8")
    Dim sm As JavaObject
      sm = sm.InitializeStatic("android.telephony.SmsManager").RunMethod("getDefault", Null)
      sm.RunMethod("sendDataMessage", Array(Destination, "", port, Data, Null, Null))
End Sub

Tengo en el Manifest añadido:
B4X:
AddManifestText(
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="19"/>
<supports-screens android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
AddPermission(android.permission.SEND_SMS)

¿Alguna pista de como saber donde está el problema o obtener el resultado de la operación de envío?

He visto algo de RuntimePermissions, pero no tengo muy claro como utilizarlos en este caso.

Gracias y un saludo.
 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Me autorespondo por si le puede servir a alguien.

Es mucho más fácil que todo eso. Simplemente hay que utilizar la librería Phone.

B4X:
Dim Sms As PhoneSms
Sms.Send2(EditNumber.Text,EditText1.text,False,False)
 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Me gustaría saber si cada vez que envío SMS salta un evento o algo que me devuelva un resultado o un id para luego poder almacenar dicha id o resultado en la base de datos y saber cuales se enviaron y cuales están pendientes de enviar y porqué.

Un saludo.
 

Descartex

Well-Known Member
Licensed User
Longtime User

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
¿Sabéis si hay alguna forma de que como remitente aparezca un nombre y no el número del remitente independientemente de que el destinatario nos tenga metido en contactos?
 

Descartex

Well-Known Member
Licensed User
Longtime User
Top