Windows.Networking.Proximity 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含類別,這些類別支援接近範圍內裝置之間的連線。
類別
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 不提供驗證、加密或訊息完整性。 請勿使用鄰近性來交換使用者敏感性資訊,例如密碼、財務資料、簡訊、電子郵件、相片或政府識別碼。