SmsDevice 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.
Mendukung pengoperasian perangkat SMS broadband seluler.
Catatan
Fungsionalitas ini hanya tersedia untuk aplikasi operator seluler dan aplikasi UWP yang diberikan akses istimewa oleh operator jaringan seluler, adaptor broadband seluler IHV, atau OEM. Untuk informasi selengkapnya, lihat Mobile Broadband.
Catatan
Kelas ini dan metodenya didukung untuk pemeliharaan aplikasi desktop warisan yang menggunakannya di versi Windows sebelumnya. Jika Anda menggunakan kelas ini, maka Anda harus menentukan Windows.Devices.Sms.LegacySmsApiContract dalam manifes aplikasi Anda. Jangan gunakan kelas ini jika Anda mengembangkan aplikasi baru untuk Windows. Sebagai gantinya, gunakan API di namespace layanan ini yang tidak memerlukan Windows.Devices.Sms.LegacySmsApiContract.
public ref class SmsDevice sealed : ISmsDevice
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Devices.Sms.LegacySmsApiContract, 65536)]
/// [Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, Windows.Devices.Sms.LegacySmsApiContract)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SmsDevice final : ISmsDevice
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Devices.Sms.LegacySmsApiContract, 65536)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Devices.Sms.LegacySmsApiContract")]
class SmsDevice final : ISmsDevice
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Devices.Sms.LegacySmsApiContract), 65536)]
[Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, typeof(Windows.Devices.Sms.LegacySmsApiContract))]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SmsDevice : ISmsDevice
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Devices.Sms.LegacySmsApiContract), 65536)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Deprecated("SmsDevice may be altered or unavailable for releases after Windows 10. Instead, use SmsDevice2.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Devices.Sms.LegacySmsApiContract")]
public sealed class SmsDevice : ISmsDevice
Public NotInheritable Class SmsDevice
Implements ISmsDevice
- Warisan
- Atribut
- Penerapan
Persyaratan Windows
Rangkaian perangkat |
Windows Desktop Extension SDK (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Devices.Sms.LegacySmsApiContract (diperkenalkan dalam v1.0)
|
Kemampuan aplikasi |
cellularMessaging
sms
|
Keterangan
Aplikasi yang menggunakan WINDOWS.Devices.Sms API untuk mengirim atau menerima pesan teks gagal dengan E_ACCESS_DENIED jika pengguna mencabut akses.
Jika akses ke perangkat SMS telah diberikan ke aplikasi:
- Memanggil GetDefaultAsync atau FromIdAsync memicu permintaan persetujuan saat pertama kali aplikasi dijalankan.
- Penangan kesalahan untuk metode asinkron GetDefaultAsync dan FromIdAsync menerima E_ACCESS_DENIED jika pengguna tidak memberikan izin dalam permintaan persetujuan atau jika izin dicabut.
- Jika pengguna mengaktifkan kembali akses ke SMS setelah mencabutnya, hubungi GetDefaultAsync atau FromIdAsync lagi untuk mengakses SMS. Misalnya, handler kesalahan untuk kesalahan E_ACCESS_DENIED dapat menampilkan UI untuk menginstruksikan pengguna untuk mengaktifkan kembali SMS menggunakan tombol pengaturan lalu mengetuk tombol untuk mencoba mengakses SMS kembali. Kode di balik tombol harus memanggil GetDefaultAsync atau FromIdAsync sebelum melakukan panggilan lain.
- Jika aplikasi mendaftar untuk peristiwa latar belakang SMS (Windows.ApplicationModel.Background.SystemTriggerType.SmsReceived), aplikasi harus terlebih dahulu memanggil GetDefaultAsync atau FromIdAsync lagi untuk mengakses SMS untuk memastikan aplikasi memiliki akses. Memanggil GetDefaultAsync atau FromIdAsync dari tugas latar belakang tidak akan memicu permintaan persetujuan. Jika ini adalah eksekusi pertama kali atau jika pengguna tidak memberikan izin atau jika izin dicabut maka akan menerima E_ACCESS_DENIED.
Penggunaan pertama objek SmsDevice untuk memanggil FromIdAsync atau GetDefaultAsync oleh aplikasi yang ditulis dalam C# atau C++ harus berada di utas apartemen berulir tunggal (STA). Panggilan dari utas apartemen multi-utas (MTA) dapat mengakibatkan perilaku yang tidak terdefinisi.
Properti
AccountPhoneNumber |
Mengembalikan nomor telepon yang terkait dengan perangkat SMS. Nomor telepon dapat digunakan untuk mengaitkan pesan masuk dengan akun dan mungkin mekanisme penyimpanan eksternal seperti kotak masuk akun. |
CellularClass |
Mengembalikan kelas seluler perangkat SMS. Kelas dapat digunakan untuk menentukan pengodean mana yang sesuai atau batasan perangkat mana yang berlaku. |
DeviceStatus |
Mengembalikan status perangkat SMS, yang menunjukkan apakah perangkat siap, atau tidak. Ini juga menunjukkan jenis masalah apa yang ada jika perangkat belum siap. |
MessageStore |
Mengakses penyimpanan pesan di perangkat. Penyimpanan menyimpan pesan hingga klien dapat mengambilnya. Pada beberapa perangkat, misalnya, penyimpanan mungkin sesuai dengan penyimpanan SIM untuk pesan SMS. |
Metode
CalculateLength(SmsTextMessage) |
Memperkirakan panjang pesan yang dikirimkan dari pesan teks yang ditentukan. Perkiraan dapat berguna bagi klien yang ingin memberikan indikasi berapa banyak pesan yang akan dikirim di jaringan untuk membawa teks pesan lengkap. |
FromIdAsync(String) |
Membuat instans SmsDevice untuk perangkat yang menerima pesan SMS. |
FromNetworkAccountIdAsync(String) |
Membuat instans SmsDevice untuk ID akun jaringan Mobile Broadband yang ditentukan. |
GetDefaultAsync() |
Membuat instans objek SmsDevice yang terkait dengan perangkat SMS default. Karena perangkat mungkin sibuk, operasi dijalankan secara asinkron. Objek operasi asinkron segera kembali. |
GetDeviceSelector() |
Mengambil string pilihan kelas yang dapat digunakan untuk menghitung perangkat SMS. |
SendMessageAsync(ISmsMessage) |
Secara asinkron mengirim pesan menggunakan perangkat SMS. Metode ini asinkron karena operasi pengiriman mungkin tidak terjadi secara instan. Objek operasi pesan segera dikembalikan. |
Acara
SmsDeviceStatusChanged |
Mengatur penanganan aktivitas yang akan dipanggil saat status perangkat SMS berubah. |
SmsMessageReceived |
Mengatur penanganan aktivitas yang akan dipanggil saat perangkat menerima pesan teks baru. |