ProximityMessage
ProximityMessage
ProximityMessage
ProximityMessage
Class
Definition
Represents a message that's received from a subscription.
public : sealed class ProximityMessage : IProximityMessagepublic sealed class ProximityMessage : IProximityMessagePublic NotInheritable Class ProximityMessage Implements IProximityMessage// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
| Capabilities |
ID_CAP_PROXIMITY [Windows Phone]
ID_CAP_PROXIMITY [Windows Phone]
proximity
|
Examples
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;
});
}
function id(elementId) {
return document.getElementById(elementId);
}
var proximityDevice;
var publishedMessageId = -1;
var subscribedMessageId = -1;
function initializeProximityDevice() {
proximityDevice = Windows.Networking.Proximity.ProximityDevice.getDefault();
if (proximityDevice) {
id("publishMessageButton").addEventListener("click", publishMessage);
id("subscribeForMessageButton").addEventListener("click", subscribeForMessage);
id("stopSubscribingForMessageButton").addEventListener("click",
stopSubScribingForMessage);
id("stopPublishingMessageButton").addEventListener("click",
stopPublishingMessage);
}
else {
id("messageDiv").innerHTML += "Failed to initialized proximity device.<br />";
}
}
function publishMessage() {
// Stop publishing the current message.
if (publishedMessageId != -1) {
proximityDevice.stopPublishingMessage(publishedMessageId);
}
publishedMessageId =
proximityDevice.publishMessage("Windows.SampleMessage", id("messageText").value);
}
function subscribeForMessage() {
// Only subscribe for the message one time.
if (subscribedMessageId === -1) {
subscribedMessageId =
proximityDevice.subscribeForMessage("Windows.SampleMessage", messageReceived);
}
}
function messageReceived(device, message) {
id("messageDiv").innerHTML += "Message received: " + message.dataAsString + "<br />";
}
function stopSubscribingForMessage() {
proximityDevice.stopSubscribingForMessage(subscribedMessageId);
subscribedMessageId = -1;
}
function stopPublishingMessage() {
proximityDevice.stopPublishingMessage(publishedMessageId);
publishedMessageId = -1;
}
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
Remarks
Messages published using the PublishMessage, PublishBinaryMessage, or PublishUriMessage methods and received by the MessageReceivedEventHandler passed to the SubscribeForMessage method are of type ProximityMessage.
Properties
Data Data Data Data
Gets the binary data of the message.
public : IBuffer Data { get; }public IBuffer Data { get; }Public ReadOnly Property Data As IBuffer// You can use this property in JavaScript.
| Device family |
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
| Capabilities |
ID_CAP_PROXIMITY [Windows Phone]
proximity
|
- See Also
DataAsString DataAsString DataAsString DataAsString
Gets the message data as text.
public : PlatForm::String DataAsString { get; }public string DataAsString { get; }Public ReadOnly Property DataAsString As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The message data as text.
| Device family |
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
| Capabilities |
ID_CAP_PROXIMITY [Windows Phone]
ID_CAP_PROXIMITY [Windows Phone]
proximity
|
Examples
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.
");
}
}
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 + "
";
}
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;
});
}
function id(elementId) {
return document.getElementById(elementId);
}
var proximityDevice;
var publishedMessageId = -1;
var subscribedMessageId = -1;
function initializeProximityDevice() {
proximityDevice = Windows.Networking.Proximity.ProximityDevice.getDefault();
if (proximityDevice) {
id("publishMessageButton").addEventListener("click", publishMessage);
id("subscribeForMessageButton").addEventListener("click", subscribeForMessage);
id("stopSubscribingForMessageButton").addEventListener("click",
stopSubScribingForMessage);
id("stopPublishingMessageButton").addEventListener("click",
stopPublishingMessage);
}
else {
id("messageDiv").innerHTML += "Failed to initialized proximity device.<br />";
}
}
function publishMessage() {
// Stop publishing the current message.
if (publishedMessageId != -1) {
proximityDevice.stopPublishingMessage(publishedMessageId);
}
publishedMessageId =
proximityDevice.publishMessage("Windows.SampleMessage", id("messageText").value);
}
function subscribeForMessage() {
// Only subscribe for the message one time.
if (subscribedMessageId === -1) {
subscribedMessageId =
proximityDevice.subscribeForMessage("Windows.SampleMessage", messageReceived);
}
}
function messageReceived(device, message) {
id("messageDiv").innerHTML += "Message received: " + message.dataAsString + "<br />";
}
function stopSubscribingForMessage() {
proximityDevice.stopSubscribingForMessage(subscribedMessageId);
subscribedMessageId = -1;
}
function stopPublishingMessage() {
proximityDevice.stopPublishingMessage(publishedMessageId);
publishedMessageId = -1;
}
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
Remarks
The DataAsString property is available only if the binary data of the message contains only text (UTF8) characters. Otherwise, the DataAsString property returns unpredictable results. You should not attempt to use the DataAsString property unless you are certain the data was received as UTF8 encoded characters. You can send a message as UTF8 encoded characters using the PublishMessage method.
- See Also
MessageType MessageType MessageType MessageType
Gets the type of the message.
public : PlatForm::String MessageType { get; }public string MessageType { get; }Public ReadOnly Property MessageType As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The type of the message.
| Device family |
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
| Capabilities |
ID_CAP_PROXIMITY [Windows Phone]
proximity
|
Remarks
Messages are delivered to all applications that have subscribed to the message type (as indicated by the messageType parameter). Message type values are case-sensitive strings that consist of two parts: the protocol and the subtype. The protocol is first, followed by a dot (.) and then the subtype. For the PublishMessage method, the protocol must always be "Windows.". The subtype is a string of alphanumeric characters and the following additional characters: . ( ) + , - : = @ ; $ _ ! * ’. The subtype cannot exceed a length of 250 characters.
- See Also
SubscriptionId SubscriptionId SubscriptionId SubscriptionId
Gets the subscription ID of the message.
public : long SubscriptionId { get; }public long SubscriptionId { get; }Public ReadOnly Property SubscriptionId As long// You can use this property in JavaScript.
- Value
- long long long long
The subscription ID of the message.
| Device family |
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
| Capabilities |
ID_CAP_PROXIMITY [Windows Phone]
proximity
|
- See Also