French Envoi de SMS

sultan87

Active Member
Licensed User
Longtime User
bonsoir
j'utilise

Dim Sms As PhoneSms
Sms.Send2("33xxxxxxxxx","therm",True,True)

je désire attendre le retour du statut SmsSentStatus pour l'analyser avant de poursuivre les lignes du programme.
comment faire ?
cordialemen
 

imbault

Well-Known Member
Licensed User
Longtime User
Tu dois utiliser les évenements de PhoneEvents:

B4X:
Dim pe As PhoneEvents
pe.Initialize("PhoneEvent")
Dim Sms As PhoneSms 
Sms.Send2("33xxxxxxxxx","therm",True,True)

.....

Sub PhoneEvent_SmsSentStatus(Success As Boolean, ErrorMessage As String, PhoneNumber As String, Intent As Intent)
  
   If Success Then
        Log(PhoneNumber " SMS envoyé")
   Else
        Log(PhoneNumber " SMS Pb----" & ErrorMessage)
   End If
End Sub
 

sultan87

Active Member
Licensed User
Longtime User
Tu dois utiliser les évenements de PhoneEvents:

B4X:
Dim pe As PhoneEvents
pe.Initialize("PhoneEvent")
Dim Sms As PhoneSms
Sms.Send2("33xxxxxxxxx","therm",True,True)

.....

Sub PhoneEvent_SmsSentStatus(Success As Boolean, ErrorMessage As String, PhoneNumber As String, Intent As Intent)

   If Success Then
        Log(PhoneNumber " SMS envoyé")
   Else
        Log(PhoneNumber " SMS Pb----" & ErrorMessage)
   End If
End Sub
Bonjour,
OK
c'est bon
j'envoie un sms pour lequel j'attends une réponse
pour cela j'utile SmsInterceptor
comment faire pour attendre la réponse après l'envoi du sms
cordialement
 

imbault

Well-Known Member
Licensed User
Longtime User
Utilise l'événement approprié
B4X:
Dim SI As SmsInterceptor
SI.Initialize2("SI", 999)
...
Sub SI_MessageReceived (From As String, Body As String) As Boolean
' SMS recu
End Sub
 

sultan87

Active Member
Licensed User
Longtime User
Utilise l'événement approprié
B4X:
Dim SI As SmsInterceptor
SI.Initialize2("SI", 999)
...
Sub SI_MessageReceived (From As String, Body As String) As Boolean
' SMS recu
End Sub
bonsoir,
merci pour la réponse, c'est ok
voici mon code

Sub Activity_Create(FirstTime As Boolean)

Dim pe As PhoneEvents
pe.Initialize("PhoneEvent")

Dim Sms As PhoneSms
Sms.Send2("33xxxx","temp",True,True)

Dim SI As SmsInterceptor
SI.Initialize2("SI", 999)

End Sub

Sub PhoneEvent_SmsSentStatus(Success As Boolean, ErrorMessage As String, PhoneNumber As String, Intent As Intent)

If Success Then
Log(PhoneNumber & " SMS envoyé")
End If

End Sub

Sub SI_MessageReceived (From As String, Body As String) As Boolean

Dim Retour_SMS As Boolean

Retour_SMS = True

' SMS recu

Log("Téléphone " & From)

If From.Contains("33xxxxxxxx") Then
Log("Téléphone " & From & " OK")

If Body.contains("température") Then
Log(Body)
Else
Retour_SMS = False
End If

Else
Retour_SMS = False

End If

Return Retour_SMS

End Sub


je dois envoyé 2 sms, le premier avec temp (comme dans code), le deuxième avec FUN?

comment faire ?
est ce que je dois mettre l'envoi du deuxième sms dans Sub SI_MessageReceived en mettant un autre SI
par exemple
Dim SI2 As SmsInterceptor
SI2.Initialize2("SI", 999)
et un Sub SI2_MessageReceived

cordialement

 

imbault

Well-Known Member
Licensed User
Longtime User
Utilise le formatage "Code" pour poster du code sinon c'est illisible...

Pour le 2nd SMS, oui tu peux l'envoyer depuis SI_MessageReceived, ce n'est pas ultra clean, mais bon..., sans instancier un SI2, SI, recevra aussi l'event pour le 2nd SMS. Par contre fais attention de ne pas boucler dans tes envois de SMS...
 

sultan87

Active Member
Licensed User
Longtime User
Utilise le formatage "Code" pour poster du code sinon c'est illisible...

Pour le 2nd SMS, oui tu peux l'envoyer depuis SI_MessageReceived, ce n'est pas ultra clean, mais bon..., sans instancier un SI2, SI, recevra aussi l'event pour le 2nd SMS. Par contre fais attention de ne pas boucler dans tes envois de SMS...
bonsoir
merci pour la réponse
ce n'est pas ultra clean, mais comment faire autrement
si j'envoie les 2 sms
Sms.Send2("33xxxx","temp",True,True) qui attend une réponse
Sms.Send2("33xxxx","therm",True,True) qui attend une réponse
dans activity_create
comment faire pour exécuter le deuxième envoi, seulement après avoir reçu la réponse du premier
cordialement
 

imbault

Well-Known Member
Licensed User
Longtime User
Garde cette logique, utilise un variable globale init. à 0 que tu incrémentes en fonction des sms recus et décrémentes avec les x ième sms envoyés, et tu testes cette variable en entrée de
SI_MessageReceived

Bref, tu vois ce que je veux dire
 
Last edited:
Top