Hi guys,
I have a problem with connecting to the beacon. I followed your guide I did the following code:
My OnCreate:
public class BeaconSetting extends AppCompatActivity
{
private ConfigurableDevicesScanner deviceScanner;
private DeviceConnectionProvider connectionProvider;
public ConfigurableDevice deviceToConnectTo= null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
EstimoteSDK.initialize(getApplicationContext(), “xxxxxxxx”, “xxxxxxxxxxxxxxxxxxxxxxxx”);
setContentView(R.layout.activity_beacon_setting);
connectionProvider = new DeviceConnectionProvider(this);
connectionProvider.connectToService(new DeviceConnectionProvider.ConnectionProviderCallback()
{
@Override
public void onConnectedToService()
{
DeviceConnection connection = connectionProvider.getConnection(deviceToConnectTo);
connection.connect(new DeviceConnectionCallback()
{
@Override
public void onConnected() {
Log.d("DeviceConnection", "Connected");
}
@Override
public void onDisconnected() {
Log.d("DeviceConnection", "Disconnected");
}
@Override
public void onConnectionFailed(DeviceConnectionException exception) {
Log.d("DeviceConnection",
"Connection failed with error: " + exception.toString());
}
});
}
});
}
My onResume
@Override
protected void onResume()
{
super.onResume();
deviceScanner = new ConfigurableDevicesScanner(this);
deviceScanner.setOwnDevicesFiltering(false);
deviceScanner.setDeviceTypes(DeviceType.LOCATION_BEACON);
deviceScanner.scanForDevices(new ConfigurableDevicesScanner.ScannerCallback()
{
@Override
public void onDevicesFound(List<ConfigurableDevicesScanner.ScanResultItem> devices)
{
String deviceIdentifier = "xxxxxxxxxxxxxxxxxxxxxxxxxxx";
for (ConfigurableDevicesScanner.ScanResultItem item : devices)
{
if (item.device.deviceId.toHexString().equals(deviceIdentifier))
{
deviceToConnectTo =item.device;
Toast.makeText(BeaconSetting.this, ""+ deviceToConnectTo, Toast.LENGTH_LONG).show();
break;
}
}
}
});
}
My onPause
@Override
protected void onPause()
{
deviceScanner.stopScanning();
super.onPause();
}
My onDestroy
@Override
protected void onDestroy()
{
connectionProvider.destroy();
super.onDestroy();
}
My deviceToConnectTo variable within the onResume stores the desired
beacon while in my onCreate when it is passed to the connectionProvider
takes the value null.
How can I use my ConfigurableDevice object in connectionProvider?