Freigeben über


ProximityDevice Klasse

Definition

Ermöglicht ihnen das Veröffentlichen von Nachrichten auf geräten oder das Abonnieren von Nachrichten von proximate-Geräten.

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
Vererbung
Object Platform::Object IInspectable ProximityDevice
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
App-Funktionen
ID_CAP_PROXIMITY [Windows Phone] proximity ID_CAP_PROXIMITY [Windows Phone]

Beispiele

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

Hinweise

Die ProximityDevice-Klasse ermöglicht Anwendungen die Kommunikation mit ausgeführten Anwendungen auf Geräten, in der Regel in einem Bereich von 3 Zentimetern bis 4 Zentimetern.

Sie können eine instance von ProximityDevice erstellen, indem Sie die statische Methode GetDefault oder FromId verwenden.

Die ProximityDevice-Klasse verwendet Publish/Subscribe-Semantik und ist nützlich für die Werbung und den Empfang kleiner Datenblöcke. Verwenden Sie für größere Datenmengen oder für die dauerhafte Kommunikation die Klassen PeerFinder und StreamSocket . Für UWP-Apps sind Veröffentlichungen und Abonnements nur aktiv, wenn sich die aufrufende App im Vordergrund befindet.

Wichtig

Die Näherungs-APIs bieten keine Authentifizierung, Verschlüsselung oder Nachrichtenintegrität. Verwenden Sie die Nähe nicht, um vertrauliche Benutzerinformationen wie Kennwörter, Finanzdaten, TEXTnachrichten, E-Mails, Fotos oder Behörden-ID-Nummern auszutauschen.

Eigenschaften

BitsPerSecond

Ruft die Übertragungsrate eines Näherungsgeräts ab.

DeviceId

Ruft die DeviceInformation-ID für ein Näherungsgerät ab.

MaxMessageBytes

Ruft die maximale Größe einer veröffentlichten Nachricht ab, die dieses Näherungsgerät unterstützt.

Methoden

FromId(String)

Erstellt eine instance einer ProximityDevice-Klasse und aktiviert die angegebene Näherungsgeräteschnittstelle.

GetDefault()

Erstellt eine instance einer ProximityDevice-Klasse und aktiviert den Standardnäheranbieter.

GetDeviceSelector()

Gibt die Klassenauswahlzeichenfolge zurück, mit der Sie Näherungsgeräte auflisten können.

PublishBinaryMessage(String, IBuffer)

Veröffentlicht für Abonnenten des angegebenen Nachrichtentyps eine Nachricht, die Binärdaten enthält.

PublishBinaryMessage(String, IBuffer, MessageTransmittedHandler)

Veröffentlicht eine Nachricht, die Binärdaten enthält, für Abonnenten des angegebenen Nachrichtentyps. Der angegebene Handler wird aufgerufen, wenn die Nachricht übertragen wurde.

PublishMessage(String, String)

Veröffentlicht eine Nachricht für Abonnenten des angegebenen Nachrichtentyps.

PublishMessage(String, String, MessageTransmittedHandler)

Veröffentlicht eine Nachricht für Abonnenten des angegebenen Nachrichtentyps. Der angegebene Handler wird aufgerufen, wenn die Nachricht übertragen wurde.

PublishUriMessage(Uri)

Veröffentlicht einen Uniform Resource Identifier (URI) auf einem proximate-Gerät.

PublishUriMessage(Uri, MessageTransmittedHandler)

Veröffentlicht einen Uniform Resource Identifier (URI) auf einem proximate-Gerät. Der angegebene Handler wird aufgerufen, wenn die Nachricht übertragen wurde.

StopPublishingMessage(Int64)

Beendet die Veröffentlichung einer Nachricht.

StopSubscribingForMessage(Int64)

Gekündigt ein Nachrichtenabonnement.

SubscribeForMessage(String, MessageReceivedHandler)

Erstellt ein Abonnement für einen angegebenen Nachrichtentyp.

Ereignisse

DeviceArrived

Tritt auf, wenn ein Gerät in den Proximatbereich wechselt.

DeviceDeparted

Tritt auf, wenn ein Gerät den proximaten Bereich verlässt.

Gilt für:

Weitere Informationen