Windows.Networking.Proximity 命名空间

包含支持近距离设备之间的连接的类。

ConnectionRequestedEventArgs

包含传递给具有 ConnectionRequested 事件的应用程序的属性。

PeerFinder

使你能够在附近设备上发现应用的其他实例,并使用点击手势或浏览在对等应用之间创建套接字连接。 若要在 Windows 8.1 及更高版本上创建蓝牙套接字连接,请改用 Windows.Devices.Bluetooth.Rfcomm

PeerInformation

包含标识对等方的信息。

PeerWatcher

动态发现无线范围内的对等应用。

ProximityDevice

使你能够将消息发布到近似设备或订阅来自近似设备的消息。

ProximityMessage

表示从订阅收到的消息。

TriggeredConnectionStateChangedEventArgs

包含 TriggeredConnectionStateChanged 事件传递给应用程序的属性。

枚举

PeerDiscoveryTypes

指示哪些发现选项可用于 PeerFinder 类。

PeerRole

描述连接到多个对等方时对等应用的角色。

PeerWatcherStatus

描述 PeerWatcher 对象的状态。

TriggeredConnectState

指示与对等应用程序的连接的当前状态。

委托

DeviceArrivedEventHandler

描述处理 DeviceArrived 事件的方法。

DeviceDepartedEventHandler

描述处理 DeviceDeparted 事件的方法。

MessageReceivedHandler

描述将处理在收到已订阅的消息时触发的事件的方法。

MessageTransmittedHandler

介绍将处理在传输已发布消息时触发的事件的方法。

示例

此示例演示如何使用 ProximityDevice 类来确定设备何时进入和离开邻近感应。

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

注解

可以使用邻近感应通过简单的点击手势来连接计算机。 如果两台计算机彼此相差不到 3 厘米至 4 厘米,或被点击在一起,则每台计算机的操作系统将检测另一台计算机。 然后,可以连接这两台计算机以共享内容或发布和订阅消息。 邻近感应还支持通过 Wi-Fi Direct 发现对等设备。

重要

邻近感应 API 不提供身份验证、加密或消息完整性。 不要使用邻近感应来交换用户敏感信息,如密码、财务数据、短信、电子邮件、照片或政府 ID 号。

另请参阅