RxAndroidBle, scanBleDevices, Android 6+, устройство невидимо после другого сканирования приложения

Когда я использую scanBleDevices из RxAndroidlBle (на Android 6+), я вижу свои устройства BLE. Затем я использую другое приложение, которое сканирует BLE. Наконец, когда я возвращаюсь в свое приложение RxAndroidlBle и запускаю новое «scanBleDevices», оно не может найти эти устройства BLE (другие приложения или системы все еще могут их видеть).

Более того, если я отключу локализацию (и / или Bluetooth) вручную и снова включу локализацию, мои устройства BLE снова появятся в моем приложении.

У вас есть представление о причине?

версия: реализация "com.polidea.rxandroidble: rxandroidble: 1.4.1"

Я также использую TedPermission:

new TedPermission(getContext())
                                .setPermissionListener(((ScanActivity)getActivity()))
                                .setPermissions(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION)
                                .setDeniedMessage(R.string.permissions_refused)
                                .check();

тогда

    @Override
    public void onPermissionGranted()
    {
rxBleClient.scanBleDevices(
                        new ScanSettings.Builder()
                                .setScanMode(ScanSettings.SCAN_MODE_LOW_POWER)
                                .setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
                                .build(),
                        ScanFilter.empty())
                        .doOnUnsubscribe(this::removeScanningSubscription)
                        .doOnError(throwable -> Log.e(TAG, throwable.toString()))
                        .subscribe(
                                scanResult -> {
                                    if (scanResult.getBleDevice().getName() != null)
                                    {
                                        EventBus.getDefault().post(new EventBLE(scanResult.getBleDevice()));
                                    }
                                },
                                throwable -> {
// some error process
                                }
                        );
   }

Вы знаете причину? И как это решить?

Спасибо,

Вы подключаетесь к устройству через другое приложение?

Dariusz Seweryn 12.07.2018 20:20

Нет, я сканирую только с помощью обоих приложений.

Jeanchristophe Pa 30.07.2018 08:23
1
2
170
0

Другие вопросы по теме