DeviceConnection method

Hi

I try to make my own power controller app using Estimote beacons.

During my works, I realized that the class BeaconConnection was deprecated sources from android.

From the DOC in Git-Hub, the author ‘Lukasz Pobereznik’ suggest using class DeviceConnectionProvider for beaconConnection.

However, the class DeviceConnectionProvider does not seem to provide the method of controlling RSSI power.

How can I adjust transmit power of estimote-beacon through my own Android programming, not cloud?

Hi @kyuchang_Kwon_Gonai,

did you read the Github documentation?

Oh, I apologize for what I have not questioned clearly.

I mentioned DOC in Git-Hub on it and I enjoyed it.

But, the contents do not agree with each other including old ones.

What I understand is that the DeviceConnectionProvider provides you a DeviceConnection object with the method getConnection(ConfigurableDevice device).

  • After, you can connect to the device with this object: deviceConnection.connect(DeviceConenctionCallback).
  • Once connected, you can access the settings with: deviceConenction.settings.beacon.transmitPower.get(SettingCallback).
  • If you want to change the settings, use: deviceConnection.settings.beacon.transmitPower.set(Integer, SettingCallback).
    Note the possible values for the setting.

A complete code (after recovering the ConfigurableDevice):

Integer newTransmitPower = -12;
DeviceConnectionProvider provider = new DeviceConnectionProvider(this);
DeviceConnection connection = provider.getConnection(device);
connection.connect(new DeviceConnectionCallback() {
    @Override
    public void onConnected() {
        deviceConnection.settings.beacon.transmitPower().set(newTransmitPower, new SettingCallback<Integer>() {
            @Override
            public void onSuccess(Integer integer) {
                // Handle setting change success
            }
            @Override
            public void onFailure(DeviceConnectionException e) {
                // Handle setting change failure
            }
        });
    }
    @Override
    onDisconnected() {
        // Handle disconnection
    }
   @Override
    onConnectionFailed(DeviceConnectionException e) {
        // Handle exception
    }
}