Android Question playing mp3 after receiving sms

DonManfred

Expert
Licensed User
Longtime User
Upvote 0

Robert_Poland

Member
Licensed User
I do exercises in receiving sms
I have this code


B4X:
#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

how to do that after the "smsOut.Send (From," four ")"
opened up the activity or image

(Sms function and corresponds to the phone)


Thx
 
Upvote 0

atulindore

Member
Licensed User
Longtime User
B4X:
Sub Process_Globals
    Dim MP As MediaPlayer 'should be done in Sub Process_Globals
End Sub

' Replace your question marks with the following code
   
    MP.Initialize2("MP")
    MP.Load(File.DirRootExternal, "audio.mp3")
    MP.Play
 
Upvote 0
Top