The Bluetooth API is supported as specified in the feature description but with the following exceptions.
Master/slave switching in the URI (such as a master=true
request in the name parameter) is not supported. If a master/slave
switch is provided as a parameter to a Connector.open
call, BluetoothConnectionException
is thrown.
The authenticate
and encrypt
security requests for the connection have to be specified in the Connector.open
call. After the connection has been established,
the authentication and encryption state for the connection cannot
be changed.
DiscoveryAgent.startInquiry(int accessCode, DiscoveryListener
listener)
It is possible to start device
discovery with the accessCode
parameter set to DiscoveryAgent.LIAC
. For more information, see below.
LocalDevice.setDiscoverable(int mode)
The API implementation supports setting the discoverability
mode to DiscoveryAgent.GIAC
, DiscoveryAgent.LIAC
, or DiscoveryAgent.NOT_DISCOVERABLE
. If some
other value is provided as a parameter, the method returns false
and the discoverability mode is not changed.
When the application sets the discoverability mode to be limitedly
discoverable (DiscoveryAgent.LIAC
), the device
is discoverable in the DiscoveryAgent.GIAC
mode
for 60 seconds. After the time is up, the API implementation sets
the discoverability mode to hidden (DiscoveryAgent.NOT_DISCOVERABLE
).
The authentication state of a connection cannot be changed. This
method returns true
if the connection is already
authenticated and false
in all other cases.
RemoteDevice.encrypt(javax.microedition.io.Connection
conn, boolean on)
Switching the encryption
state of a connection is not supported. If the connection is already
encrypted, RemoteDevice.encrypt(conn, true)
returns true
, as does RemoteDevice.encrypt(conn, false)
if encryption is already turned off.
RemoteDevice.isTrustedDevice()
This method checks whether the device is trusted against the
native list of trusted devices. If the native list of trusted devices
is not available, the method returns false
.