PhoneLineWatcher クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
デバイス上の新規/削除/更新された電話回線を監視し、変更についてリスナーに通知するクラスを表します。
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
- 継承
- 属性
Windows の要件
デバイス ファミリ |
Windows Mobile Extension SDK (10.0.10240.0 で導入)
|
API contract |
Windows.ApplicationModel.Calls.CallsPhoneContract (v1.0 で導入)
|
アプリの機能 |
phoneCallHistory
phoneCallHistorySystem
|
注釈
電話回線は、ユーザーが着信または発信通話を受信するために使用できる回線です。 1 つのデバイスに複数の行を含めることができます。 たとえば、システムは、送信呼び出しを開始できる VoIP アプリケーション専用の別の行を作成します。
システムは、起動時に使用可能な行を自動的に検出し、行の作成または変更時に行を動的に検出します。 PhoneLineWatcher クラスは、新しい電話回線が検出され、変更に対応する際に、アプリケーションがイベントを受信するためのメカニズムを提供します。
このクラスはウォッチャー パターンを実装します。
このクラスのインスタンスを取得するには、 RequestLineWatcher を呼び出します。
次の例は、現在のすべての電話回線を列挙する方法を示しています。
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;
}
プロパティ
Status |
PhoneLineWatcher インスタンスの現在の状態を取得します。 |
メソッド
Start() |
デバイス上の電話回線の変更のリッスンを開始します。 |
Stop() |
デバイス上の電話回線の変更のリッスンを停止します。 |
イベント
EnumerationCompleted |
PhoneLineWatcher インスタンスがデバイス上のすべての電話回線の列挙を完了したときに発生します。 |
LineAdded |
PhoneLineWatcher インスタンスがデバイス上の新しい電話回線を検出したときに発生します。 |
LineRemoved |
PhoneLineWatcher インスタンスが、電話回線がデバイスから削除されたことを検出したときに発生します。 |
LineUpdated |
PhoneLineWatcher インスタンスがデバイスで電話回線が更新されたことを検出したときに発生します。 |
Stopped |
PhoneLineWatcher インスタンスが電話回線への変更のデバイスの監視を停止したときに発生します。 |
適用対象
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示