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 不提供驗證、加密或訊息完整性。 請勿使用鄰近性來交換使用者敏感性資訊,例如密碼、財務資料、簡訊、電子郵件、相片或政府識別碼。

另請參閱