Class and interface description

The Bluetooth API is supported as specified in the feature description but with the following exceptions.

javax.microedition.io.Connector

Connector.open(String name)

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.

javax.bluetooth.DiscoveryAgent

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.

javax.bluetooth.LocalDevice

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).

javax.bluetooth.RemoteDevice

RemoteDevice.authenticate()

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.