ProximityDevice.StopPublishingMessage(Int64) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Deja de publicar un mensaje.
public:
virtual void StopPublishingMessage(long long messageId) = StopPublishingMessage;
void StopPublishingMessage(long const& messageId);
public void StopPublishingMessage(long messageId);
function stopPublishingMessage(messageId)
Public Sub StopPublishingMessage (messageId As Long)
Parámetros
- messageId
-
Int64
long long
long
Identificador de publicación del mensaje.
Requisitos de Windows
Características de aplicaciones |
ID_CAP_PROXIMITY [Windows Phone]
proximity
ID_CAP_PROXIMITY [Windows Phone]
|
Ejemplos
Windows.Networking.Proximity.ProximityDevice proximityDevice;
long publishedMessageId = -1;
long subscribedMessageId = -1;
private void initializeProximityDevice()
{
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();
if (proximityDevice != null)
{
PublishMessageButton.Click += PublishMessage;
SubscribeForMessageButton.Click += SubscribeForMessage;
StopSubscribingForMessageButton.Click += StopSubscribingForMessage;
StopPublishingMessageButton.Click += StopPublishingMessage;
}
else
{
WriteMessageText("Failed to initialized proximity device.\n");
}
}
private void PublishMessage(object sender, RoutedEventArgs e)
{
// Stop publishing the current message.
if (publishedMessageId != -1)
{
proximityDevice.StopPublishingMessage(publishedMessageId);
}
publishedMessageId =
proximityDevice.PublishMessage("Windows.SampleMessage", MessageTextBlock.Text);
}
private void SubscribeForMessage(object sender, RoutedEventArgs e)
{
// Only subscribe for the message one time.
if (subscribedMessageId == -1)
{
subscribedMessageId =
proximityDevice.SubscribeForMessage("Windows.SampleMessage", messageReceived);
}
}
private void messageReceived(
Windows.Networking.Proximity.ProximityDevice device,
Windows.Networking.Proximity.ProximityMessage message)
{
MessageBlock.Text += "Message received: " + message.DataAsString + "\n";
}
private void StopSubscribingForMessage(object sender, RoutedEventArgs e)
{
proximityDevice.StopSubscribingForMessage(subscribedMessageId);
subscribedMessageId = -1;
}
private void StopPublishingMessage(object sender, RoutedEventArgs e)
{
proximityDevice.StopPublishingMessage(publishedMessageId);
publishedMessageId = -1;
}
// 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
Private publishedMessageId As Long = -1
Private subscribedMessageId As Long = -1
Private Sub initializeProximityDevice()
proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault()
If proximityDevice IsNot Nothing Then
AddHandler PublishMessageButton.Click, AddressOf PublishMessage
AddHandler SubscribeForMessageButton.Click, AddressOf SubscribeForMessage
AddHandler StopSubscribingForMessageButton.Click, AddressOf StopSubscribingForMessage
AddHandler StopPublishingMessageButton.Click, AddressOf StopPublishingMessage
Else
WriteMessageText("Failed to initialized proximity device." & vbTab)
End If
End Sub
Private Sub PublishMessage(sender As Object, e As RoutedEventArgs)
' Stop publishing the current message.
If publishedMessageId <> -1 Then
proximityDevice.StopPublishingMessage(publishedMessageId)
End If
publishedMessageId =
proximityDevice.PublishMessage("Windows.SampleMessage", MessageTextBlock.Text)
End Sub
Private Sub SubscribeForMessage(sender As Object, e As RoutedEventArgs)
' Only subscribe for the message one time.
If subscribedMessageId = -1 Then
subscribedMessageId =
proximityDevice.SubscribeForMessage("Windows.SampleMessage", AddressOf messageReceived)
End If
End Sub
Private Sub messageReceived(
device As Windows.Networking.Proximity.ProximityDevice,
message As Windows.Networking.Proximity.ProximityMessage)
MessageBlock.Text &= "Message received: " & message.DataAsString & vbTab
End Sub
Private Sub StopSubscribingForMessage(sender As Object, e As RoutedEventArgs)
proximityDevice.StopSubscribingForMessage(subscribedMessageId)
subscribedMessageId = -1
End Sub
Private Sub StopPublishingMessage(sender As Object, e As RoutedEventArgs)
proximityDevice.StopPublishingMessage(publishedMessageId)
publishedMessageId = -1
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
Comentarios
El identificador de publicación de un mensaje se devuelve de los métodos PublishMessage, PublishBinaryMessage y PublishUriMessage .