SmsDevice Kelas

Definisi

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
Object Platform::Object IInspectable SmsDevice
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.

Berlaku untuk