Message

public class Message extends AbstractSafeParcelable
implements Parcelable

A message that will be shared with nearby devices. This message consists of some client-specified content and a type. The type can be used in the MessageFilter.Builder to limit which messages an application receives in a subscription.

Constant Summary

int MAX_CONTENT_SIZE_BYTES The maximum content size in number of bytes.
int MAX_TYPE_LENGTH The maximum length() for the message type.
String MESSAGE_NAMESPACE_RESERVED A namespace reserved for special Messages.
String MESSAGE_TYPE_AUDIO_BYTES Message type refers to an AudioBytes based message which contains raw byte[] data to be directly sent or received over the near-ultrasound audio medium.
String MESSAGE_TYPE_EDDYSTONE_UID See includeEddystoneUids(String, String) and from(Message).
String MESSAGE_TYPE_I_BEACON_ID See includeIBeaconIds(UUID, Short, Short) and from(Message).

Inherited Constant Summary

Field Summary

public static final Creator<Message> CREATOR

Public Constructor Summary

Message(byte[] content)
Creates a new message with the given content and the default type (empty string).
Message(byte[] content, String type)
Creates a new message with the given content and type.

Public Method Summary

boolean
equals(Object object)
Message objects are equal if the namespace, type, and content are equal.
byte[]
getContent()
Returns the raw bytes content of the message.
String
getNamespace()
Returns the non-empty string for a public namespace or empty for the private one.
String
getType()
Returns the type that describes the content of the message.
int
String
void
writeToParcel(Parcel out, int flags)

Inherited Method Summary

Constants

public static final int MAX_CONTENT_SIZE_BYTES

The maximum content size in number of bytes.

Constant Value: 102400

public static final int MAX_TYPE_LENGTH

The maximum length() for the message type.

Constant Value: 32

public static final String MESSAGE_NAMESPACE_RESERVED

A namespace reserved for special Messages. See MESSAGE_TYPE_* for examples.

Constant Value: "__reserved_namespace"

public static final String MESSAGE_TYPE_AUDIO_BYTES

Message type refers to an AudioBytes based message which contains raw byte[] data to be directly sent or received over the near-ultrasound audio medium.

Constant Value: "__audio_bytes"

public static final String MESSAGE_TYPE_EDDYSTONE_UID

Constant Value: "__eddystone_uid"

public static final String MESSAGE_TYPE_I_BEACON_ID

Constant Value: "__i_beacon_id"

Fields

public static final Creator<Message> CREATOR

Public Constructors

public Message (byte[] content)

Creates a new message with the given content and the default type (empty string).

Use this constructor when the application has only one message type or as the default type to exchange with nearby devices.

Parameters
content An arbitrary array holding the content of the message. The maximum content size is MAX_CONTENT_SIZE_BYTES.

public Message (byte[] content, String type)

Creates a new message with the given content and type.

Use this constructor when your application has multiple types of data to exchange. For example, a poll application could publish a message with type "question", and subscribe for messages of type "answer" that are published by the same app running on other nearby devices.

Parameters
content An arbitrary array holding the content of the message. The maximum content size is MAX_CONTENT_SIZE_BYTES.
type A string that describe what the bytes of the content represent. The maximum type length is MAX_TYPE_LENGTH.

Public Methods

public boolean equals (Object object)

Message objects are equal if the namespace, type, and content are equal.

public byte[] getContent ()

Returns the raw bytes content of the message.

public String getNamespace ()

Returns the non-empty string for a public namespace or empty for the private one. The private namespace contains messages are meant to be used and exchanged by apps that created them.

A public namespace contains messages that are publicly known and is accessible to any application who is interested in them. One example of a message in a public namespace is a beacon attachment. See Beacons for more details on namespace and beacon attachment.

Returns
  • An empty String for the private namespace or non-empty for public namespaces.

public String getType ()

Returns the type that describes the content of the message.

Returns an empty String if no type was specified when the message was created.

public int hashCode ()

public String toString ()

public void writeToParcel (Parcel out, int flags)