Android Studio Java Bluetooth LE не работает - PullRequest
0 голосов
/ 08 мая 2020

Итак, у меня есть Arduino, рекламирующий BLE, я могу загрузить приложение «BLE Scanner», чтобы подключиться к нему, и оно работает именно так. Сейчас я пишу приложение на Android для подключения к этому Arduino. У меня есть следующий код, но он не работает:

ScanCallback scanCallback = new ScanCallback() {
  @Override
  public void onScanResult(int callbackType, final ScanResult result) {
    super.onScanResult(callbackType, result);
    System.out.println("Callback: " + callbackType);
  }

  @Override
  public void onScanFailed(int errorCode) {
    super.onScanFailed(errorCode);
    System.out.println("callback error");
  }
};

BluetoothManager bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);

BluetoothAdapter mBluetoothAdapter = bluetoothManager.getAdapter();

BluetoothLeScanner mLEScanner = mBluetoothAdapter.getBluetoothLeScanner();

ScanSettings scanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY).build();

mLEScanner.startScan(null,scanSettings,scanCallback);

, и я получаю эту ошибку:

I/BNRClientProivder, VERSION : 1.7.5: register - xml6 quick_backup : ACCESSIBILITYSETTINGS, X6qErjsfs2, com.android.settings.accessibility.sharedaccessibility.scloud.BNRTask
I/QBNRClientHelper: init SyncClientHelper : ACCESSIBILITYSETTINGS
I/BNRClientProivder, VERSION : 1.7.5: register - xml6 quick_backup : CONNECTIONS, C0phMaUuZZ, com.android.settings.wifi.mobileap.WifiApBackupRestore
I/QBNRClientHelper: init SyncClientHelper : CONNECTIONS
I/BNRClientProivder, VERSION : 1.7.5: register - xml6 quick_backup : WiFi, C0phMaUuZZ, com.android.settings.wifi.WifiBackupRestore

1 Ответ

1 голос
/ 11 мая 2020

Настройки доступности похожи на разрешения. Вам необходимо разрешить различные функции в приложении.

  • Go в ваш файл манифеста добавьте разрешения Bluetooth и разрешения местоположения

Затем вам нужно будет предоставить приложению разрешения при запуске. Go в ваши открытые приложения и нажмите 3 точки, информация о приложении, включение разрешений.

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Также я не могу увидеть, что результат сканирования. При обратном вызове сканирования вы получаете адрес устройства, запись сканирования (рекламные данные) и rssi (полученная мощность).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...