# Print output for @column tags ?>
public
class
DiscoverySessionCallback
extends Object
| java.lang.Object | |
| ↳ | android.net.wifi.aware.DiscoverySessionCallback |
Base class for Aware session events callbacks. Should be extended by
applications wanting notifications. The callbacks are set when a
publish or subscribe session is created using
WifiAwareSession#publish(PublishConfig, DiscoverySessionCallback,
android.os.Handler) or
WifiAwareSession#subscribe(SubscribeConfig, DiscoverySessionCallback,
android.os.Handler).
A single callback is set at session creation - it cannot be replaced.
Public constructors | |
|---|---|
DiscoverySessionCallback()
|
|
Public methods | |
|---|---|
void
|
onMessageReceived(PeerHandle peerHandle, byte[] message)
Called when a message is received from a discovery session peer - in response to the
peer's |
void
|
onMessageSendFailed(int messageId)
Called when message transmission initiated with
|
void
|
onMessageSendSucceeded(int messageId)
Called in response to
|
void
|
onPublishStarted(PublishDiscoverySession session)
Called when a publish operation is started successfully in response to a
|
void
|
onServiceDiscovered(PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter)
Called when a discovery (publish or subscribe) operation results in a service discovery. |
void
|
onServiceDiscoveredWithinRange(PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter, int distanceMm)
Called when a discovery (publish or subscribe) operation results in a service discovery. |
void
|
onSessionConfigFailed()
Called when a publish or subscribe discovery session cannot be created:
|
void
|
onSessionConfigUpdated()
Called when a publish or subscribe discovery session configuration update request succeeds. |
void
|
onSessionTerminated()
Called when a discovery session (publish or subscribe) terminates. |
void
|
onSubscribeStarted(SubscribeDiscoverySession session)
Called when a subscribe operation is started successfully in response to a
|
Inherited methods | |
|---|---|
public DiscoverySessionCallback ()
public void onMessageReceived (PeerHandle peerHandle, byte[] message)
Called when a message is received from a discovery session peer - in response to the
peer's DiscoverySession#sendMessage(PeerHandle, int, byte[]).
| Parameters | |
|---|---|
peerHandle |
PeerHandle: An opaque handle to the peer matching our discovery operation. |
message |
byte: A byte array containing the message. |
public void onMessageSendFailed (int messageId)
Called when message transmission initiated with
DiscoverySession#sendMessage(PeerHandle, int, byte[]) fails. E.g. when no ACK is
received from the peer.
Note that either this callback or
DiscoverySessionCallback#onMessageSendSucceeded(int) will be received
- never both.
| Parameters | |
|---|---|
messageId |
int: The arbitrary message ID specified when sending the message. |
public void onMessageSendSucceeded (int messageId)
Called in response to
DiscoverySession#sendMessage(PeerHandle, int, byte[])
when a message is transmitted successfully - i.e. when it was received successfully by the
peer (corresponds to an ACK being received).
Note that either this callback or
DiscoverySessionCallback#onMessageSendFailed(int) will be
received - never both.
| Parameters | |
|---|---|
messageId |
int: The arbitrary message ID specified when sending the message. |
public void onPublishStarted (PublishDiscoverySession session)
Called when a publish operation is started successfully in response to a
WifiAwareSession#publish(PublishConfig, DiscoverySessionCallback,
android.os.Handler) operation.
| Parameters | |
|---|---|
session |
PublishDiscoverySession: The PublishDiscoverySession used to control the
discovery session.
This value cannot be null. |
public void onServiceDiscovered (PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter)
Called when a discovery (publish or subscribe) operation results in a service discovery.
Note that this method and
onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List, int) may be called
multiple times per service discovery.
| Parameters | |
|---|---|
peerHandle |
PeerHandle: An opaque handle to the peer matching our discovery operation. |
serviceSpecificInfo |
byte: The service specific information (arbitrary
byte array) provided by the peer as part of its discovery
configuration. |
matchFilter |
List: The filter which resulted in this service discovery. For
PublishConfig#PUBLISH_TYPE_UNSOLICITED,
SubscribeConfig#SUBSCRIBE_TYPE_PASSIVE discovery sessions this is the publisher's
match filter. For PublishConfig#PUBLISH_TYPE_SOLICITED,
SubscribeConfig#SUBSCRIBE_TYPE_ACTIVE discovery sessions this
is the subscriber's match filter. |
public void onServiceDiscoveredWithinRange (PeerHandle peerHandle, byte[] serviceSpecificInfo, List<byte[]> matchFilter, int distanceMm)
Called when a discovery (publish or subscribe) operation results in a
service discovery. Called when a Subscribe service was configured with a range requirement
SubscribeConfig.Builder#setMinDistanceMm(int) and/or
SubscribeConfig.Builder#setMaxDistanceMm(int) and the Publish service was configured
with PublishConfig.Builder#setRangingEnabled(boolean).
If either Publisher or Subscriber does not enable Ranging, or if Ranging is temporarily
disabled by the underlying device, service discovery proceeds without ranging and the
onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List) is called.
Note that this method and onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List) may be
called multiple times per service discovery.
| Parameters | |
|---|---|
peerHandle |
PeerHandle: An opaque handle to the peer matching our discovery operation. |
serviceSpecificInfo |
byte: The service specific information (arbitrary
byte array) provided by the peer as part of its discovery
configuration. |
matchFilter |
List: The filter which resulted in this service discovery. For
PublishConfig#PUBLISH_TYPE_UNSOLICITED,
SubscribeConfig#SUBSCRIBE_TYPE_PASSIVE discovery sessions this is the publisher's
match filter. For PublishConfig#PUBLISH_TYPE_SOLICITED,
SubscribeConfig#SUBSCRIBE_TYPE_ACTIVE discovery sessions this
is the subscriber's match filter. |
distanceMm |
int: The measured distance to the Publisher in mm. Note: the measured distance
may be negative for very close devices. |
public void onSessionConfigFailed ()
Called when a publish or subscribe discovery session cannot be created:
WifiAwareSession#publish(PublishConfig, DiscoverySessionCallback,
android.os.Handler) or
WifiAwareSession#subscribe(SubscribeConfig, DiscoverySessionCallback,
android.os.Handler), or when a configuration update fails:
PublishDiscoverySession#updatePublish(PublishConfig) or
SubscribeDiscoverySession#updateSubscribe(SubscribeConfig).
For discovery session updates failure leaves the session running with its previous configuration - the discovery session is not terminated.
public void onSessionConfigUpdated ()
Called when a publish or subscribe discovery session configuration update request
succeeds. Called in response to
PublishDiscoverySession#updatePublish(PublishConfig) or
SubscribeDiscoverySession#updateSubscribe(SubscribeConfig).
public void onSessionTerminated ()
Called when a discovery session (publish or subscribe) terminates. Termination may be due
to user-request (either directly through DiscoverySession#close() or
application-specified expiration, e.g. PublishConfig.Builder#setTtlSec(int)
or SubscribeConfig.Builder#setTtlSec(int)).
public void onSubscribeStarted (SubscribeDiscoverySession session)
Called when a subscribe operation is started successfully in response to a
WifiAwareSession#subscribe(SubscribeConfig, DiscoverySessionCallback,
android.os.Handler) operation.
| Parameters | |
|---|---|
session |
SubscribeDiscoverySession: The SubscribeDiscoverySession used to control the
discovery session.
This value cannot be null. |