ProximityDevice Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Позволяет публиковать сообщения на прокси-устройствах или подписываться на сообщения с прокси-устройств.
public ref class ProximityDevice sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ProximityDevice final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ProximityDevice
Public NotInheritable Class ProximityDevice
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Возможности приложения |
ID_CAP_PROXIMITY [Windows Phone]
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Примеры
Windows.Networking.Proximity.ProximityDevice proximityDevice;
private void InitializeProximityDevice()
{
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();
if (proximityDevice != null) {
proximityDevice.DeviceArrived += ProximityDeviceArrived;
proximityDevice.DeviceDeparted += ProximityDeviceDeparted;
WriteMessageText("Proximity device initialized.\n");
}
else
{
WriteMessageText("Failed to initialized proximity device.\n");
}
}
private void ProximityDeviceArrived(Windows.Networking.Proximity.ProximityDevice device)
{
WriteMessageText("Proximate device arrived. id = " + device.DeviceId + "\n");
}
private void ProximityDeviceDeparted(Windows.Networking.Proximity.ProximityDevice device)
{
WriteMessageText("Proximate device departed. id = " + device.DeviceId + "\n");
}
// Write a message to MessageBlock on the UI thread.
private Windows.UI.Core.CoreDispatcher messageDispatcher = Window.Current.CoreWindow.Dispatcher;
async private void WriteMessageText(string message, bool overwrite = false)
{
await messageDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
() =>
{
if (overwrite)
MessageBlock.Text = message;
else
MessageBlock.Text += message;
});
}
Dim proximityDevice As Windows.Networking.Proximity.ProximityDevice
Private Sub InitializeProximityDevice()
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()
If proximityDevice IsNot Nothing Then
AddHandler proximityDevice.DeviceArrived, AddressOf ProximityDeviceArrived
AddHandler proximityDevice.DeviceDeparted, AddressOf ProximityDeviceDeparted
WriteMessageText("Proximity device initialized." & vbTab)
Else
WriteMessageText("Failed to initialized proximity device." & vbTab)
End If
End Sub
Private Sub ProximityDeviceArrived(device As Windows.Networking.Proximity.ProximityDevice)
WriteMessageText("Proximate device arrived. id = " & device.DeviceId & vbTab)
End Sub
Private Sub ProximityDeviceDeparted(device As Windows.Networking.Proximity.ProximityDevice)
WriteMessageText("Proximate device departed. id = " & device.DeviceId & vbTab)
End Sub
' Write a message to MessageBlock on the UI thread.
Private Async Sub WriteMessageText(message As String, Optional overwrite As Boolean = False)
Await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
Sub()
If overwrite Then
MessageBlock.Text = message
Else
MessageBlock.Text &= message
End If
End Sub)
End Sub
Комментарии
Класс ProximityDevice позволяет приложениям взаимодействовать с запущенными приложениями на устройствах, обычно в диапазоне от 3 до 4 сантиметров.
Экземпляр ProximityDevice можно создать с помощью статического метода GetDefault или FromId .
Класс ProximityDevice использует семантику публикации и подписки и полезен для рекламы и получения небольших блоков данных. Для больших объемов данных или для постоянного взаимодействия используйте классы PeerFinder и StreamSocket . Для приложений UWP публикации и подписки активны, только если вызывающее приложение находится на переднем плане.
Важно!
API близкого взаимодействия не обеспечивают проверку подлинности, шифрование или целостность сообщений. Не используйте близкое расположение для обмена конфиденциальными сведениями пользователей, такими как пароли, финансовые данные, текстовые сообщения, электронные письма, фотографии или номера идентификаторов государственных организаций.
Свойства
BitsPerSecond |
Возвращает скорость передачи близкого устройства. |
DeviceId |
Возвращает идентификатор DeviceInformation для близкого устройства. |
MaxMessageBytes |
Возвращает максимальный размер опубликованного сообщения, поддерживаемый этим устройством близкого взаимодействия. |
Методы
FromId(String) |
Создает экземпляр класса ProximityDevice и активирует указанный интерфейс устройства близкого взаимодействия. |
GetDefault() |
Создает экземпляр класса ProximityDevice и активирует поставщик близкого взаимодействия по умолчанию. |
GetDeviceSelector() |
Возвращает строку выбора класса, которую можно использовать для перечисления устройств близкого взаимодействия. |
PublishBinaryMessage(String, IBuffer) |
Публикует подписчикам указанного типа сообщения сообщение, содержащее двоичные данные. |
PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler) |
Публикует сообщение, содержащее двоичные данные для подписчиков указанного типа сообщения. Указанный обработчик вызывается при передаче сообщения. |
PublishMessage(String, String) |
Публикует сообщение подписчикам указанного типа сообщения. |
PublishMessage(String, String, MessageTransmittedHandler) |
Публикует сообщение подписчикам указанного типа сообщения. Указанный обработчик вызывается при передаче сообщения. |
PublishUriMessage(Uri) |
Публикует универсальный код ресурса (URI) на прокси-устройстве. |
PublishUriMessage(Uri, MessageTransmittedHandler) |
Публикует универсальный код ресурса (URI) на прокси-устройстве. Указанный обработчик вызывается при передаче сообщения. |
StopPublishingMessage(Int64) |
Прекращает публикацию сообщения. |
StopSubscribingForMessage(Int64) |
Отменяет подписку на сообщения. |
SubscribeForMessage(String, MessageReceivedHandler) |
Создает подписку для указанного типа сообщения. |
События
DeviceArrived |
Происходит, когда устройство входит в прокси-диапазон. |
DeviceDeparted |
Происходит, когда устройство покидает прокси-диапазон. |