Freigeben über


ProximityDevice.PublishUriMessage Methode

Definition

Überlädt

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.

PublishUriMessage(Uri)

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

public:
 virtual long long PublishUriMessage(Uri ^ message) = PublishUriMessage;
/// [Windows.Foundation.Metadata.Overload("PublishUriMessage")]
long PublishUriMessage(Uri const& message);
[Windows.Foundation.Metadata.Overload("PublishUriMessage")]
public long PublishUriMessage(System.Uri message);
function publishUriMessage(message)
Public Function PublishUriMessage (message As Uri) As Long

Parameter

message
Uri Uri

Der zu veröffentlichende URI.

Gibt zurück

Int64

long long

long

Die Veröffentlichungs-ID der Nachricht.

Attribute

Windows-Anforderungen

App-Funktionen
proximity ID_CAP_PROXIMITY [Windows Phone]

Beispiele

private Windows.Networking.Proximity.ProximityDevice proximityDevice;
    
public MainPage()
{
    this.InitializeComponent();

    initializeProximitySample();
}

private void initializeProximitySample() 
{
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

    if (proximityDevice == null)
        WriteMessageText("Failed to initialized proximity device.\n" +
                         "Your device may not have proximity hardware.");
}

// 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;
        });
}
Private proximityDevice As Windows.Networking.Proximity.ProximityDevice

Public Sub New()
    Me.InitializeComponent()

    initializeProximitySample()
End Sub

Private Sub initializeProximitySample()
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()

    If proximityDevice Is Nothing Then
        WriteMessageText("Failed to initialized proximity device." & vbCrLf &
                         "Your device may not have proximity hardware.")
    End If
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
long publishedUriId = -1;

private void PublishUriButton_Click(object sender, RoutedEventArgs e)
{
    // Stop publishing the current message.
    if (publishedUriId != -1)
        proximityDevice.StopPublishingMessage(publishedUriId);

    publishedUriId =
        proximityDevice.PublishUriMessage(new Uri("http://www.microsoft.com"));
}

private void StopPublishingUriButton_Click(object sender, RoutedEventArgs e)
{
    proximityDevice.StopPublishingMessage(publishedUriId);
}
Private publishedUriId As Long = -1

Private Sub PublishUriButton_Click(sender As Object, e As RoutedEventArgs)
    ' Stop publishing the current message.
    If publishedUriId <> -1 Then
        proximityDevice.StopPublishingMessage(publishedUriId)
    End If

    publishedUriId =
        proximityDevice.PublishUriMessage(New Uri("http:'www.microsoft.com"))
End Sub

Private Sub StopPublishingUriButton_Click()
    proximityDevice.StopPublishingMessage(publishedUriId)
End Sub

Hinweise

Für jedes Näherungsgerät kann jeweils nur ein URI veröffentlicht werden.

Sie können die Veröffentlichung eines URI beenden, indem Sie die von der PublishUriMessage-Methode zurückgegebene Veröffentlichungs-ID an die StopPublishingMessage-Methode übergeben.

Im Gegensatz zu den anderen Veröffentlichungsmethoden für ein Näherungsgerät wird die URI-Veröffentlichung vom Standardprotokollhandler für den URI verarbeitet. Ein Abonnement für eine URI-Nachrichtenveröffentlichung ist nicht erforderlich. Sie können URI-Nachrichten empfangen, indem Sie einen Standardhandler für ein URI-Protokoll wie das HTTP-Protokoll registrieren.

Der PackageFamilyName-Wert der sendenden Anwendung wird automatisch zusammen mit dem URI gesendet. Wenn kein Handler für das Protokoll eines URI registriert ist, wird der PackageFamilyName-Wert der sendenden Anwendung verwendet, um die empfangende Anwendung an den Anwendungsspeicher weiterzuleiten.

Sie können die PublishMessage-Methode verwenden, um eine TEXTnachricht auf einem proximaten Computer zu veröffentlichen. Sie können die PublishBinaryMessage-Methode verwenden, um Nicht-Textnachrichten oder Nachrichten zu veröffentlichen, die dem NDEF-Messagingstandard entsprechen.

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.

Weitere Informationen

Gilt für:

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.

public:
 virtual long long PublishUriMessage(Uri ^ message, MessageTransmittedHandler ^ messageTransmittedHandler) = PublishUriMessage;
/// [Windows.Foundation.Metadata.Overload("PublishUriMessageWithCallback")]
long PublishUriMessage(Uri const& message, MessageTransmittedHandler const& messageTransmittedHandler);
[Windows.Foundation.Metadata.Overload("PublishUriMessageWithCallback")]
public long PublishUriMessage(System.Uri message, MessageTransmittedHandler messageTransmittedHandler);
function publishUriMessage(message, messageTransmittedHandler)
Public Function PublishUriMessage (message As Uri, messageTransmittedHandler As MessageTransmittedHandler) As Long

Parameter

message
Uri Uri

Der zu veröffentlichende URI.

messageTransmittedHandler
MessageTransmittedHandler

Der Handler, der aufgerufen werden soll, wenn die Nachricht übertragen wurde.

Gibt zurück

Int64

long long

long

Die Veröffentlichungs-ID der Nachricht.

Attribute

Windows-Anforderungen

App-Funktionen
proximity ID_CAP_PROXIMITY [Windows Phone]

Beispiele

private Windows.Networking.Proximity.ProximityDevice proximityDevice;
    
public MainPage()
{
    this.InitializeComponent();

    initializeProximitySample();
}

private void initializeProximitySample() 
{
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

    if (proximityDevice == null)
        WriteMessageText("Failed to initialized proximity device.\n" +
                         "Your device may not have proximity hardware.");
}

// 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;
        });
}
Private proximityDevice As Windows.Networking.Proximity.ProximityDevice

Public Sub New()
    Me.InitializeComponent()

    initializeProximitySample()
End Sub

Private Sub initializeProximitySample()
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()

    If proximityDevice Is Nothing Then
        WriteMessageText("Failed to initialized proximity device." & vbCrLf &
                         "Your device may not have proximity hardware.")
    End If
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
    long publishedUriId = -1;

    private void PublishUriButton_Click(object sender, RoutedEventArgs e)
    {
        // Stop publishing the current message.
        if (publishedUriId != -1)
            proximityDevice.StopPublishingMessage(publishedUriId);

        publishedUriId =
            proximityDevice.PublishUriMessage(new Uri("http://www.microsoft.com"),
                                              UriTransmitted);
    }

private void UriTransmitted(
    Windows.Networking.Proximity.ProximityDevice sender,
        long messageId)
    {
    // The Uri has been successfully transmitted.
    }

    private void StopPublishingUriButton_Click(object sender, RoutedEventArgs e)
    {
        proximityDevice.StopPublishingMessage(publishedUriId);
    }
Private publishedUriId As Long = -1

Private Sub PublishUriButton_Click(sender As Object, e As RoutedEventArgs)
    ' Stop publishing the current message.
    If publishedUriId <> -1 Then
        proximityDevice.StopPublishingMessage(publishedUriId)
    End If

    publishedUriId =
        proximityDevice.PublishUriMessage(New Uri("http:'www.microsoft.com"),
                                          AddressOf UriTransmitted)
End Sub

Private Sub UriTransmitted(
sender As Windows.Networking.Proximity.ProximityDevice,
    messageId As Long)

' The Uri has been successfully transmitted
End Sub

Private Sub StopPublishingUriButton_Click()
    proximityDevice.StopPublishingMessage(publishedUriId)
End Sub

Hinweise

Für jedes Näherungsgerät kann jeweils nur ein URI veröffentlicht werden.

Sie können die Veröffentlichung eines URI beenden, indem Sie die von der PublishUriMessage-Methode zurückgegebene Veröffentlichungs-ID an die StopPublishingMessage-Methode übergeben.

Im Gegensatz zu den anderen Veröffentlichungsmethoden für ein Näherungsgerät wird die URI-Veröffentlichung vom Standardprotokollhandler für den URI verarbeitet. Ein Abonnement für eine URI-Nachrichtenveröffentlichung ist nicht erforderlich. Sie können URI-Nachrichten empfangen, indem Sie einen Standardhandler für ein URI-Protokoll wie das HTTP-Protokoll registrieren.

Der PackageFamilyName-Wert der sendenden Anwendung wird automatisch zusammen mit dem URI gesendet. Wenn kein Handler für das Protokoll eines URI registriert ist, wird der PackageFamilyName-Wert der sendenden Anwendung verwendet, um die empfangende Anwendung an den Anwendungsspeicher weiterzuleiten.

Sie können die PublishMessage-Methode verwenden, um eine TEXTnachricht auf einem proximaten Computer zu veröffentlichen. Sie können die PublishBinaryMessage-Methode verwenden, um Nicht-Textnachrichten oder Nachrichten zu veröffentlichen, die dem NDEF-Messagingstandard entsprechen.

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.

Weitere Informationen

Gilt für: