viksnamax
@viksnamax
Aliens is here!

Как исправить ошибку: null is not an object (evaluation of 'bleManager.start')?

Использую библиотеку react-native-ble-manager для соеденения телефона на Android с BLE устройством, но когда вызываю метод BleManager.start(), сразу выскакивает ошибка, на GitHub'е данной библиотеке в разделе Issues решение искать пробовал, но ничего не помогает из предложенного, часто пишут, что не правильно установлена библиотека, уже раз 10 всё перепроверил и переустанавливал. Вот мои шаги по установке:
  1. npm i --save react-native-ble-manager
  2. // file: android/app/src/main/AndroidManifest.xml
    ...
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    ...

    Пробовал использовать ACCESS_FINE_LOCATION и ACCESS_COARSE_LOCATION, и вместе и по отдельности.

  3. npm i
  4. В README.md написано, что есть поддержка автолинковки, но думаю лишним не будет:
    react-native link && react-native link react-native-ble-manager


Expo не использую. Пробовал запускать пример, но там такая же ошибка, хотя вот весь мой код связанный с этой библиотекой:
...
import BleManager from 'react-native-ble-manager';
...
const scanAndConnect = () => {
  BleManager.start()    
  .catch((err) => {
    console.error(err);
  });
};

инфо из build.gradle:
buildToolsVersion = "29.0.2"
minSdkVersion = 16
compileSdkVersion = 29
targetSdkVersion = 29

OS: Android 9.0
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
viksnamax
@viksnamax Автор вопроса
Aliens is here!
Проблема заключалась в том, что targetSdkVersion для Android 9.0 должна быть равный 28, а не 29 в файле build.gradle
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы