Hi,
I am trying to use the Android-BLE-Library with my nRF52832 device (I do have another test Android app which can work w/o using the library).
I followed the Github readme document and use the following code to connect to my nRF device:
Log.d(TAG, "+MyDevice()"); mMgr = new MyBleManager(ctx); mMgr.setGattCallbacks(this); mMgr.connect(BluetoothAdapter.getDefaultAdapter().getRemoteDevice(addr)).timeout(30000).enqueue(); Log.d(TAG, "-MyDevice()");
However, it never works and the log reads like a simple timeout:
01-23 09:19:33.478 32040 32040 V MyBleManager: Connecting... 01-23 09:19:33.478 32040 32040 D MyBleManager: gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE) 01-23 09:20:03.474 32040 32040 V MyBleManager: Cancelling connection... 01-23 09:20:03.474 32040 32040 D MyBleManager: gatt.disconnect() 01-23 09:20:03.477 32040 32040 I MyBleManager: Disconnected
MyBleManager is defined as
class MyBleManager extends BleManager<BleManagerCallbacks> { public MyBleManager(@NonNull Context context) { super(context); } @NonNull @Override protected synchronized BleManagerGattCallback getGattCallback() { if (null == mGattCallback) { mGattCallback = new BleManagerGattCallback() { @Override protected boolean isRequiredServiceSupported(@NonNull BluetoothGatt gatt) { return true; } @Override protected void onDeviceDisconnected() { // Device disconnected. Release your references here. Log.d(TAG, "+onDeviceDisconnected()"); } }; } return mGattCallback; } @Override public void log(final int priority, @NonNull final String message) { // Please, don't log in production. if (BuildConfig.DEBUG || priority == Log.ERROR) Log.println(priority, TAG, message); } }
I am wondering if the BleManager has more log to reveal the cause?
I am using 2.1.1 version of the library.