PhoneLineWatcher Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili kelas yang memantau saluran telepon baru/dihapus/diperbarui di perangkat dan memberi tahu pendengar tentang perubahan apa pun.
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
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows Mobile Extension SDK (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Calls.CallsPhoneContract (diperkenalkan dalam v1.0)
|
Kemampuan aplikasi |
phoneCallHistory
phoneCallHistorySystem
|
Keterangan
Saluran telepon adalah saluran yang dapat digunakan pengguna untuk menerima panggilan telepon masuk atau keluar. Satu perangkat dapat memiliki beberapa baris. Misalnya, sistem membuat baris terpisah khusus untuk aplikasi VoIP yang memungkinkan memulai panggilan keluar.
Sistem secara otomatis mendeteksi baris yang tersedia pada boot dan kemudian secara dinamis mendeteksi garis saat garis dibuat atau diubah. Kelas PhoneLineWatcher menyediakan mekanisme bagi aplikasi untuk menerima peristiwa saat saluran telepon baru terdeteksi dan bereaksi terhadap perubahan.
Kelas ini mengimplementasikan pola pengamat.
Anda dapat mengambil instans kelas ini dengan memanggil RequestLineWatcher.
Contoh berikut menunjukkan cara menghitung semua saluran telepon saat ini.
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;
}
Properti
Status |
Dapatkan status instans PhoneLineWatcher saat ini. |
Metode
Start() |
Mulai mendengarkan perubahan pada saluran telepon pada perangkat. |
Stop() |
Berhenti mendengarkan perubahan pada saluran telepon pada perangkat. |
Acara
EnumerationCompleted |
Terjadi ketika instans PhoneLineWatcher menyelesaikan enumerasi semua saluran telepon pada perangkat. |
LineAdded |
Terjadi ketika instans PhoneLineWatcher mendeteksi saluran telepon baru di perangkat. |
LineRemoved |
Terjadi ketika instans PhoneLineWatcher mendeteksi bahwa saluran telepon telah dihapus dari perangkat. |
LineUpdated |
Terjadi ketika instans PhoneLineWatcher mendeteksi bahwa saluran telepon telah diperbarui pada perangkat. |
Stopped |
Terjadi ketika instans PhoneLineWatcher berhenti memantau perangkat untuk perubahan pada saluran telepon. |
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk