Il frammento di codice qui di seguito, illustra una tecnica di come rilevare il numero di telefono della chiamata che si sta effettuando il tutto tramite il linguaggio VB.Net
Imports
Microsoft.WindowsMobile.StatusImports
Microsoft.WindowsMobile.Telephony'oggetto per la gestione dello stato
Dim stato As New SystemState(SystemProperty.PhoneTalkingCallerNumber)
'funzione che rileva il numero di telefono
Public Sub NotificatDiCambiamento(ByVal sender As Object, ByVal args As ChangeEventArgs)
Dim state As SystemState = CType(sender, SystemState)
MessageBox.Show(
"Numero che si sta chiamdno: " & args.NewValue.ToString())End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim phnTelefono As New Phone()
phnTelefono.Talk(
"4250010001")End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'aggiungo un gestore di evento
AddHandler stato.Changed, AddressOf NotificatDiCambiamento
End Sub
Come si vede dal codice, si è creato un oggetto di tipo systemstate, riguardante lo stato di chiamata.
Nell'evento load della form, si è creato un gestore di evento, nel caso lo stato del dispositivo mobile cambia, e precisamente nel momento in cui viene effettuata la chiamata viene eseguito il metodo "notificaDiCambiamento" in questo modo possiamo rilevare il numero che stiamo chiamando
L'evento click del pulsante, effettua una chiamata in modo che viene notificato il cambiamento di stato.
2 commenti:
Ciao Emanuele,
ho riutilizzato il tuo codice (quindi prima di tutto grazie mille!), però ho notato che l'evento si genera anche se mi chiamano e rispondo...come mai?
Grazie mille
Il codice, riguarda le chiamate che si ricevono, a te cosa serviva di preciso? in uscita o entrata?
Posta un commento