Обратный вызов bluetoothgatt не извлекает результат соседних устройств в конкретном случае в android - PullRequest
0 голосов
/ 21 февраля 2020

когда я выбираю близлежащие устройства Bluetooth, он дает мне точный результат, после чего я убиваю приложение, когда я снова прихожу, мне нужно автоматически подключиться к ранее подключенному устройству

это уже пробовал,

  buildScanCallBacks();

метод внутри:

    private void buildScanCallBacks() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            mLeScanCallback = new ScanCallback() {
                @Override
                public void onScanResult(int callbackType, ScanResult result) {
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                        final BluetoothDevice btDevice = result.getDevice();

                        if (!deviceList.contains(btDevice)) {

                            deviceList.add(btDevice);
                            broadCastDeviceFound(btDevice);

                            if (connectedDevice == null) {
                                SharedPreferences sharedPreferences = getSharedPreferences(
                                        PreferenceKeys.settings, Context.MODE_PRIVATE);

                                String lastConnectedDeviceAddr = sharedPreferences.getString
                                        (PreferenceKeys.lastConnectedDeviceAddr, "");

                                if (lastConnectedDeviceAddr != null && !lastConnectedDeviceAddr.equalsIgnoreCase("")) {
                                    connectTolastDevice(lastConnectedDeviceAddr);
                                }
                            } else
                                connectToDevice(btDevice);
                        }
//
                    }
                }

                @Override
                public void onScanFailed(int errorCode) {
                    Log.e(TAG, "Bluetooth scan failed. Error code " + errorCode);
                    buildScanCallBacks();
                }
            };
        }
    }

Теперь моя проблема в первый раз, когда она работает нормально, а затем, когда я снова вхожу в приложение, обратный вызов не дает никакого результата, так что я могу подключиться к этому адресу автоматически, тогда, если я выключаю и снова включаю блютуз внешнего устройства, затем он отображается в результатах этого обратного вызова, пожалуйста, помогите?

...