Android Probleme mit BLE-Notify

jackie05

Mitglied
Hallo zusammen.
Ich verwende für meine App die Library FastBLE um mich mit einem anderen Gerät per Bluetooth Low Energy zu verbinden:
FastBLE
Das klappt auch alles soweit, nur kann ich irgendwie keine Daten empfangen, warum auch immer.
Vorher hatte ich die Library EasyBLE und hatte genau das gleiche Problem.

Java:
BleManager.getInstance().init(getApplication());
        BleManager.getInstance()
                .enableLog(true)
                .setReConnectCount(1, 5000)
                .setConnectOverTime(20000)
                .setOperateTimeout(5000);

        BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
                .setDeviceName(true, "Test")
                .setAutoConnect(true)
                .setScanTimeOut(10000)
                .build();
        BleManager.getInstance().initScanRule(scanRuleConfig);

startScanAndConnect();

Java:
private final BleNotifyCallback notifyCallback = new BleNotifyCallback() {

@Override
    public void onNotifySuccess() {
Toast.makeText(MainActivity.this, "onNotifySuccess", Toast.LENGTH_LONG).show();
    }

@Override
    public void onNotifyFailure(BleException exception) {
Toast.makeText(MainActivity.this, "onNotifyFailure: "+exception.toString(), Toast.LENGTH_LONG).show();
        System.out.println("onNotifyFailure: "+exception);
    }

@Override
    public void onCharacteristicChanged(byte[] data) {
String s = new String(data, StandardCharsets.UTF_8);
        Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show();
    }
};

private final BleReadCallback bleReadCallback = new BleReadCallback() {
        @Override
        public void onReadSuccess(byte[] data) {
            BleManager.getInstance().setMtu(myBleDevice, 100, new BleMtuChangedCallback() {
                @Override
                public void onSetMTUFailure(BleException exception) {
                    System.out.println("onSetMTUFailure: "+exception.getDescription());
                }

                @Override
                public void onMtuChanged(int mtu) {

                    ((HomeFragment) homeFragment).bleConnected();
                    BleManager.getInstance().notify(myBleDevice, "19b10000-e8f2-537e-4f6c-d104768a1214", "19b10001-e8f2-537e-4f6c-d104768a1214", notifyCallback);

                    String s = new String(data, StandardCharsets.UTF_8);
                    Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show();

                }
            });

        }

        @Override
        public void onReadFailure(BleException exception) {
            Toast.makeText(MainActivity.this, "onReadFailure: "+exception.getDescription(), Toast.LENGTH_LONG).show();
        }
    };

    private void startScanAndConnect() {
        BleManager.getInstance().scanAndConnect(new BleScanAndConnectCallback() {
            @Override
            public void onScanFinished(BleDevice scanResult) {
                if (scanResult == null) {
                    myBleDevice = null;
                    ((HomeFragment) homeFragment).bleConnectFail();
                    Toast.makeText(MainActivity.this, "Kein Gerät gefunden!", Toast.LENGTH_LONG).show();
                }
            }

            @Override
            public void onStartConnect() {

            }

            @Override
            public void onConnectFail(BleDevice bleDevice, BleException exception) {
                myBleDevice = null;
                ((HomeFragment) homeFragment).bleConnectFail();
            }

            @Override
            public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) {
                myBleDevice = bleDevice;
                BleManager.getInstance().read(bleDevice, "19b10000-e8f2-537e-4f6c-d104768a1214", "19b10001-e8f2-537e-4f6c-d104768a1214", bleReadCallback);
            }

            @Override
            public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) {
                myBleDevice = null;
                ((HomeFragment) homeFragment).bleDisConnected();
            }

            @Override
            public void onScanStarted(boolean success) {
                ((HomeFragment) homeFragment).bleScanStarted();
            }

            @Override
            public void onScanning(BleDevice bleDevice) {

            }


        });
    }

Die Verbindung klappt und das einmalige auslesen, sobald er Verbunden ist, klappt auch.
Nur bekomme ich es nicht hin, weitere Daten auszulesen, wenn neue Daten gesendet wurden.
Ich denke, dass das Problem hier dran liegt:
Java:
BleManager.getInstance().notify(myBleDevice, "19b10000-e8f2-537e-4f6c-d104768a1214", "19b10001-e8f2-537e-4f6c-d104768a1214", notifyCallback);
Er wirft bei notifyCallback eine Exception aus, mit dem Inhalt "null".

Kann mir da wer Weiterhelfen?
Ich bin an diesem Problem schon mehrere Tage dran, leider ohne Erfolg.

Ich bedanke mich im Voraus für die Hilfe.

Gruss
 

jackie05

Mitglied
Mit der Library EasyBLE erhalte ich diese Meldung:
Java:
notify fail:this characteristic doesn't support notification or indication
notify failCode:201

Gruss
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Android Probleme mit der Realm Datenbank Android & Cross-Platform Mobile Apps 3
J Android Probleme mit Navigation-Fragments? Android & Cross-Platform Mobile Apps 0
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
B Android Probleme mit Realm Datenbank Android & Cross-Platform Mobile Apps 2
B Android Probleme mit ArrayList Android & Cross-Platform Mobile Apps 6
J Android Probleme mit FileProvider Android & Cross-Platform Mobile Apps 1
B Probleme mit Firebase Authentication Android & Cross-Platform Mobile Apps 25
H Android Probleme mit SearchView in ArrayAdapter Android & Cross-Platform Mobile Apps 7
ATZENPOWER Android Probleme mit mobilen Daten via lte Android & Cross-Platform Mobile Apps 10
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android Probleme mit RealmObject? Android & Cross-Platform Mobile Apps 1
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
F Probleme mit Google-Maps Android & Cross-Platform Mobile Apps 0
B Android Probleme mit ViewPager? Android & Cross-Platform Mobile Apps 5
J Probleme mit ViewPager und Activity Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Eclipse? Android & Cross-Platform Mobile Apps 6
E MAVLINK Probleme Android & Cross-Platform Mobile Apps 1
C Android Probleme mit JavaMail Android & Cross-Platform Mobile Apps 5
B Android Probleme mit Facebook-SDK? Android & Cross-Platform Mobile Apps 1
D Android Probleme mit info/warning (1, 902) Android & Cross-Platform Mobile Apps 4
D Android Gallery Probleme Android & Cross-Platform Mobile Apps 3
B Probleme mit App auf Galaxy S3? Android & Cross-Platform Mobile Apps 13
S Hat der AVD-Manager Probleme mit GPS? Android & Cross-Platform Mobile Apps 5
P Probleme mit xml-Layout Android & Cross-Platform Mobile Apps 2
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
F Layout mit listViews (Scrolling-Probleme) Android & Cross-Platform Mobile Apps 2
A Android Probleme mit Dialog Android & Cross-Platform Mobile Apps 4
U SQLite-Datenbank Probleme Android & Cross-Platform Mobile Apps 8
T Android Probleme bei Facebook Integration Android & Cross-Platform Mobile Apps 5
tfa Android Layout-Probleme: View programmatisch erweitern (addContentView) Android & Cross-Platform Mobile Apps 7
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
A Probleme mit Form.isShown Android & Cross-Platform Mobile Apps 9
A Probleme mit Calendar auf dem Handy Android & Cross-Platform Mobile Apps 3
U Probleme mit der drawString Methode bei Canvas Android & Cross-Platform Mobile Apps 8
P Probleme mit dem Deployment Android & Cross-Platform Mobile Apps 3
P Probleme mit Streams Android & Cross-Platform Mobile Apps 4
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
G Proguard Obfuscator macht Probleme Android & Cross-Platform Mobile Apps 2
P Probleme mit RMS Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben