|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.bluetooth.DiscoveryAgent
public class DiscoveryAgent
The DiscoveryAgent
class provides methods to perform device
discovery (but not service discovery in leJOS NXJ). A local device must have only one
DiscoveryAgent
object. This object must be retrieved by a call
to getDiscoveryAgent()
on the LocalDevice
object.
The three service methods normally in the DiscoveryAgent class such as searchServices()
are not included because the Lego NXT brick only allows one service: SPP (Serial Port
Profile). It would waste memory to implement the service methods considering they are not
really functional.
startInquiry()
to start an inquiry to find devices in
proximity to the local device. Discovered devices are returned via the
deviceDiscovered()
method of the interface
DiscoveryListener
. The second way to discover devices is via
the retrieveDevices()
method. This method will return devices
that have been discovered via a previous inquiry or devices that are
classified as pre-known. (Pre-known devices are those devices that are
defined in the Bluetooth Control Center as devices this device frequently
contacts.) The retrieveDevices()
method does not perform an
inquiry, but provides a quick way to get a list of devices that may be in the
area.
WARNING: If a device is found that has not yet been paired with the NXT brick, the name
field of RemoteDevice will be blank. Make sure to pair your devices through the leJOS
NXJ Bluetooth menu on your NXT.
Field Summary | |
---|---|
static int |
CACHED
Used with the retrieveDevices() method to return those
devices that were found via a previous inquiry. |
static int |
GIAC
The inquiry access code for General/Unlimited Inquiry Access Code (GIAC). |
static int |
LIAC
The inquiry access code for Limited Dedicated Inquiry Access Code (LIAC). |
static int |
NOT_DISCOVERABLE
Takes the device out of discoverable mode. |
static int |
PREKNOWN
Used with the retrieveDevices() method to return those
devices that are defined to be pre-known devices. |
Method Summary | |
---|---|
boolean |
cancelInquiry(DiscoveryListener listener)
Removes the device from inquiry mode. |
RemoteDevice[] |
retrieveDevices(int option)
Returns an array of Bluetooth devices that have either been found by the local device during previous inquiry requests or been specified as a pre-known device depending on the argument. |
boolean |
startInquiry(int accessCode,
DiscoveryListener listener)
Places the device into inquiry mode. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int NOT_DISCOVERABLE
The value of NOT_DISCOVERABLE
is 0x00 (0).
public static final int GIAC
The value of GIAC
is 0x9E8B33 (10390323). This value is
defined in the Bluetooth Assigned Numbers document.
startInquiry(int, javax.bluetooth.DiscoveryListener)
,
Constant Field Valuespublic static final int LIAC
The value of LIAC
is 0x9E8B00 (10390272). This value is
defined in the Bluetooth Assigned Numbers document.
startInquiry(int, javax.bluetooth.DiscoveryListener)
,
Constant Field Valuespublic static final int CACHED
retrieveDevices()
method to return those
devices that were found via a previous inquiry. If no inquiries have been
started, this will cause the method to return null
.
The value of CACHED
is 0x00 (0).
retrieveDevices(int)
,
Constant Field Valuespublic static final int PREKNOWN
retrieveDevices()
method to return those
devices that are defined to be pre-known devices. Pre-known devices are
specified in the BCC. These are devices that are specified by the user as
devices with which the local device will frequently communicate.
The value of PREKNOWN
is 0x01 (1).
retrieveDevices(int)
,
Constant Field ValuesMethod Detail |
---|
public RemoteDevice[] retrieveDevices(int option)
option
- CACHED
if previously found devices should be
returned; PREKNOWN
if pre-known devices should
be returned
option
is CACHED
; an
array of devices that are pre-known devices if
option
is PREKNOWN
;
null
if no devices meet the criteria
IllegalArgumentException
- if option
is not CACHED
or
PREKNOWN
public boolean startInquiry(int accessCode, DiscoveryListener listener) throws BluetoothStateException
deviceDiscovered()
of the interface
DiscoveryListener
. The cancelInquiry()
method is called to stop the inquiry.
NOTE: If a device is found that has not yet been paired with the NXT brick,
the name field of RemoteDevice will be blank. Make sure to pair your devices
through the leJOS NXJ Bluetooth menu on your NXT.
accessCode
- the type of inquiry to completelistener
- the event listener that will receive device discovery events
true
if the inquiry was started;
false
if the inquiry was not started because the
accessCode
is not supported
IllegalArgumentException
- if the access code provided is not LIAC
,
GIAC
, or in the range 0x9E8B00 to 0x9E8B3F
NullPointerException
- if listener
is null
BluetoothStateException
- if the Bluetooth device does not allow an inquiry to be
started due to other operations that are being performed
by the devicecancelInquiry(javax.bluetooth.DiscoveryListener)
,
GIAC
,
LIAC
public boolean cancelInquiry(DiscoveryListener listener)
An inquiryCompleted()
event will occur with a type of
INQUIRY_TERMINATED
as a result of calling this method.
After receiving this event, no further deviceDiscovered()
events will occur as a result of this inquiry.
This method will only cancel the inquiry if the listener
provided is the listener that started the inquiry.
listener
- the listener that is receiving inquiry events
true
if the inquiry was canceled; otherwise
false
if the inquiry was not canceled or if the
inquiry was not started using listener
NullPointerException
- if listener
is null
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |