Ho provato, inserendo il tuo stesso codice nel modulo di servizio Starter e funziona:
Sub Process_Globals
Private PhoneId As PhoneId
Private PE As PhoneEvents
End Sub
Sub Service_Create
PE.InitializeWithPhoneState("PE", PhoneId)
End Sub
Sub Service_Destroy
PE.StopListening
End Sub
Sub PE_PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
Log("State: " & State)
Log("Num : " & IncomingNumber)
If IncomingNumber = "123456789* Then
CallSubDelayed(NomeDellaActivityCheContieneIlPlayer, "StopPlaying")
End If
End Sub
Non so perché a te no; qualche incompatibilità con altro codice?
Comunque vale la pena mettere il codice nello Starter. Dovendo poi fermare il player, puoi chiamare una routine del modulo in cui esso è stato dichiarato, ad esempio:
CallSubDelayed(NomeDellaActivityCheContieneIlPlayer, "StopPlaying")
e fermare il player nella Sub StopPlaying.