I am new to Android Bluetooth LE and wearables and trying to develop an app to get heart rate from wearables. I am using a Mi Band 3 and following Google’s docs to get heart rate from nearby BLE device(Mi Band 3). I am unable to discover the device. I am using the following code as a reference.
callback = new BleScanCallback() {
        @Override
        public void onDeviceFound(BleDevice device) {
        //    ClaimBleDeviceRequest request = new ClaimBleDeviceRequest(mClient,device);
            PendingResult<Status> pendingResult =
                    Fitness.BleApi.claimBleDevice(mClient, device);
        }
        @Override
        public void onScanStopped() {
            // ..
        }
    };
    StartBleScanRequest request = new StartBleScanRequest.Builder()
            .setDataTypes(DataType.TYPE_HEART_RATE_BPM)
            .setBleScanCallback(callback)
            .build();
    PendingResult<Status> pendingResult =
            Fitness.BleApi.startBleScan(mClient, request);