#Region Service Attributes
#StartAtBoot: False
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Type Message (Address As String, Body As String)
End Sub
Sub Service_Create
Dim SI As SmsInterceptor
SI.Initialize2("SI", 999)
ToastMessageShow("went into service create",True)
Log("#0")
ToastMessageShow("#0",True)
End Sub
Sub Service_Start (StartingIntent As Intent)
Log("#1")
ToastMessageShow("#1",True)
If StartingIntent.Action = "android.provider.Telephony.SMS_RECEIVED" Then
Log("#2")
ToastMessageShow("#2",True)
Dim messages() As Message
messages = ParseSmsIntent(StartingIntent)
For i = 0 To messages.Length - 1
Log(messages(i))
Next
ToastMessageShow("went into startingIntent.Action",True)
End If
End Sub
Sub Service_Destroy
End Sub
'Parses an SMS intent and returns an array of messages
Sub ParseSmsIntent (In As Intent) As Message()
Log("#3")
ToastMessageShow("#3",True)
ToastMessageShow("went into parseSMSIntent.Action",True)
Dim messages() As Message
If In.HasExtra("pdus") = False Then Return messages
Dim pdus() As Object
Dim r As Reflector
pdus = In.GetExtra("pdus")
If pdus.Length > 0 Then
Log("#4")
ToastMessageShow("#4",True)
Dim messages(pdus.Length) As Message
Dim From As String
Dim smsin As String
For i = 0 To pdus.Length - 1
r.Target = r.RunStaticMethod("android.telephony.SmsMessage", "createFromPdu", _
Array As Object(pdus(i)), Array As String("[B"))
messages(i).Body = r.RunMethod("getMessageBody")
messages(i).Address = r.RunMethod("getOriginatingAddress")
ToastMessageShow(r.RunMethod("getMessageBody"),True)
smsin = r.RunMethod("getMessageBody")
From = r.RunMethod("getOriginatingAddress")
If smsin.ToLowerCase = "hello" Then
SI_MessageReceived(From,smsin)
End If
Next
End If
Return messages
End Sub
Sub SI_MessageReceived (From As String, Body As String) As Boolean
Dim smsOut As PhoneSms
' from here onward you can filter the SMS to see if the message contain what you looking for.
If Body.ToLowerCase = "1" Then
smsOut.Send(From,"one")
End If
If Body.ToLowerCase = "2" Then
smsOut.Send(From,"two")
End If
If Body.ToLowerCase = "3" Then
smsOut.Send(From,"three")
End If
If Body.ToLowerCase = "4" Then
smsOut.Send(From,"four")
????????
End If
End Sub