PhoneLineWatcher Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une classe qui surveille les lignes téléphoniques nouvelles/supprimées/mises à jour sur l’appareil et avertit les écouteurs de toute modification.
public ref class PhoneLineWatcher sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Calls.CallsPhoneContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class PhoneLineWatcher final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Calls.CallsPhoneContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class PhoneLineWatcher
Public NotInheritable Class PhoneLineWatcher
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows Mobile Extension SDK (introduit dans 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Calls.CallsPhoneContract (introduit dans v1.0)
|
Fonctionnalités de l’application |
phoneCallHistory
phoneCallHistorySystem
|
Remarques
Une ligne téléphonique est une ligne qu’un utilisateur peut utiliser pour recevoir ou placer des appels téléphoniques sortants. Un seul appareil peut avoir plusieurs lignes. Par exemple, le système crée une ligne distincte spécifiquement pour les applications VoIP qui permet de lancer un appel sortant.
Le système détecte automatiquement les lignes disponibles au démarrage, puis détecte dynamiquement les lignes lors de la création ou de la modification des lignes. La classe PhoneLineWatcher fournit un mécanisme permettant aux applications de recevoir des événements lorsque de nouvelles lignes téléphoniques sont détectées et de réagir aux modifications.
Cette classe implémente le modèle observateur.
Vous pouvez récupérer un instance de cette classe en appelant RequestLineWatcher.
L’exemple suivant montre comment énumérer toutes les lignes téléphoniques actuelles.
private async Task<Dictionary<Guid, PhoneLine>> GetPhoneLinesAsync()
{
PhoneCallStore store = await PhoneCallManager.RequestStoreAsync();
// Start the PhoneLineWatcher
var watcher = store.RequestLineWatcher();
var phoneLines = new List<PhoneLine>();
var lineEnumerationCompletion = new TaskCompletionSource<bool>();
watcher.LineAdded += async (o, args) => { var line = await PhoneLine.FromIdAsync(args.LineId); phoneLines.Add(line); };
watcher.Stopped += (o, args) => lineEnumerationCompletion.TrySetResult(false);
watcher.EnumerationCompleted += (o, args) => lineEnumerationCompletion.TrySetResult(true);
watcher.Start();
// Wait for enumeration completion
if (!await lineEnumerationCompletion.Task)
{
throw new Exception("Phone Line Enumeration failed");
}
watcher.Stop();
Dictionary<Guid, PhoneLine> returnedLines = new Dictionary<Guid, PhoneLine>();
foreach (PhoneLine phoneLine in phoneLines)
{
if (phoneLine != null && phoneLine.Transport == PhoneLineTransport.Cellular)
{
returnedLines.Add(phoneLine.Id, phoneLine);
}
}
return returnedLines;
}
Propriétés
Status |
Obtenez la status actuelle du instance PhoneLineWatcher. |
Méthodes
Start() |
Commence à écouter les modifications apportées aux lignes téléphoniques sur l’appareil. |
Stop() |
Arrête l’écoute des modifications apportées aux lignes téléphoniques sur l’appareil. |
Événements
EnumerationCompleted |
Se produit lorsque l’instance PhoneLineWatcher effectue une énumération de toutes les lignes téléphoniques de l’appareil. |
LineAdded |
Se produit lorsque le instance PhoneLineWatcher détecte une nouvelle ligne téléphonique sur l’appareil. |
LineRemoved |
Se produit lorsque le instance PhoneLineWatcher détecte qu’une ligne téléphonique a été supprimée de l’appareil. |
LineUpdated |
Se produit lorsque le instance PhoneLineWatcher détecte qu’une ligne téléphonique a été mise à jour sur l’appareil. |
Stopped |
Se produit lorsque l’instance PhoneLineWatcher arrête de surveiller l’appareil pour les modifications apportées aux lignes téléphoniques. |