Обзор API среда выполнения Windows мобильной широкополосной связи
В следующей таблице перечислены API для создания мобильного широкополосного приложения.
API | Описание |
---|---|
Предоставляет сведения о состоянии подключения (например, к Интернету). |
|
Включает расширения для конкретного устройства, такие как скачивание набора средств SIM и списка предпочитаемых перемещаемых устройств (PRL). |
|
Позволяет подготавливать Windows с данными о подготовке учетных записей и сведениями об использовании данных. |
|
Позволяет включать, отключать или изменять ПИН-код SIM-карты. |
|
Предоставляет функции, необходимые для реализации клиента SMS. |
|
Предоставляет сведения о подписчике для SIM-карты и сведения об устройстве для мобильного широкополосного устройства. |
|
Позволяет установить сеанс неструктурированных дополнительных данных службы (USSD) с сетью (клиентом и сетью, инициированной сетью). |
В этом разделе доступны следующие разделы:
API учетной записи мобильного широкополосного подключения
Так как он содержит методы, которые можно использовать для получения личных сведений о клиенте и изменения параметров сети на мобильных широкополосных устройствах, API учетной записи мобильного широкополосного подключения является привилегированным API. Это означает, что большинство приложений UWP не могут вызывать свои методы без получения ошибки "отказано в доступе". Чтобы иметь возможность вызывать этот API, приложение UWP должно соответствовать следующим критериям:
С приложением должен быть связан пакет метаданных устройства или службы, который должен быть указан в XML-элементе PrivilegedApplications файла SoftwareInfo.xml внутри пакета. Пакет не обязательно должен быть эксклюзивным для приложения; любое конкретное приложение UWP может быть указано в элементе PrivilegedApplications нескольких пакетов. Этот пакет должен быть связан с поставщиком услуг для мобильного широкополосного устройства, которое было активно хотя бы один раз на компьютере, чтобы он был установлен.
Для файла appxmanifest приложения требуется <запись DeviceCapability> для API учетной записи мобильной широкополосной связи. Это можно сделать, добавив следующий XML-элемент в качестве дочернего <элемента элемента Capabilities> в файле appxmanifest приложения:
<DeviceCapability Name="BFCD56F7-3943-457F-A312-2E19BB6DC648" />
Дополнительные сведения об элементе Capabilities> см. в< разделе Файл манифеста приложения для Windows 8.
Примечание Приложения, которые не являются приложениями UWP (например, службы Microsoft Win32 или классические приложения), имеют неограниченный доступ к API учетной записи мобильной широкополосной связи. Это связано с тем, что эти приложения могут использовать существующие API Win32 и COM для получения полного доступа к мобильной широкополосной сети. Эти API нельзя использовать из приложений UWP.
Идентификаторы сетевых учетных записей
Идентификатор сетевой учетной записи — это уникальный идентификатор учетной записи мобильного широкополосного подключения. Он предоставляет единый идентификатор, который можно использовать без необходимости знать, является ли идентификатор из сети GSM, CDMA или WiMAX. Windows создает идентификаторы сетевых учетных записей при каждом обнаружении предоставленного оборудованием идентификатора сетевой подписки, которого раньше не было. В следующем списке указаны идентификаторы сетевых учетных записей для каждого поддерживаемого типа сети.
Сети GSM. ICCID SIM-карты используется для различения подписок.
Сети CDMA. Используется мобильный идентификационный номер (MIN).
Когда Windows впервые обнаруживает один из предыдущих типов сети, она создает новый идентификатор сетевой учетной записи и сопоставляет его с хэшом SHA-256 предоставленного оборудования идентификатора подписки, а затем сохраняет их оба в реестре. И наоборот, если Windows находит хэш предоставленного оборудованием идентификатора подписки в реестре, она использует идентификатор сетевой учетной записи, связанный с этим хэшом. Идентификаторы сетевых учетных записей должны быть глобально уникальными (они основаны на идентификаторах GUID), но так как хранимое содержимое является хэшом предоставленного оборудования идентификатора, при попытке сопоставить идентификатор сетевой учетной записи с идентификатором ICCID или MIN, из которого он был создан, должно присутствовать сетевое оборудование.
Важно Несмотря на то, что для получения ICCID из идентификатора сетевой учетной записи требуется доступ к компьютеру и сетевому устройству, которые используются для их сопоставления, идентификаторы сетевых учетных записей однозначно идентифицируют отдельных пользователей. Поэтому при работе с ними рекомендуется следовать политикам вашей организации для работы с персональными данными.
Идентификаторы сетевых учетных записей разделяются оператором мобильной сети (MNO), поэтому, если у конечного пользователя есть устройства с мобильными широкополосными устройствами Provider1 и Provider2 и установлены соответствующие мобильные широкополосные приложения, приложение Provider1 не сможет использовать идентификаторы сетевых учетных записей Provider2 и наоборот. Функция, возвращающая все идентификаторы сетевых учетных записей, возвращает только идентификаторы сетевых учетных записей для MNO, приложение которого вызывает функцию. Попытка использовать идентификатор сетевой учетной записи, принадлежащий другому MNO, приведет к ошибке "Отказано в доступе".
Примечание Приложения, которые не являются приложениями UWP (например, службы Win32 или классические приложения), имеют доступ ко всем сетевым учетным записям независимо от поставщика сетевых услуг.