AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services
Thema durchsuchen
Ansicht
Themen-Optionen

TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

Ein Thema von philipp.hofmann · begonnen am 15. Sep 2019 · letzter Beitrag vom 5. Apr 2020
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.856 Beiträge
 
Delphi 12 Athens
 
#1

AW: TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 22. Jan 2020, 20:41
Berechtigungen: gut. Ist das schon in QP erfasst?
Und falls Subscribtion Kunde: ruhig einen Supportfall
im EMBT Supportportal (nicht QP) erfassen. Dann meldet
sich jemand von EMBT direkt!

Nur falls uns hier die Ideen ausgehen...
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
247 Beiträge
 
Delphi 12 Athens
 
#2

AW: TBluetoothLE: DiscoverServices() erkennt unter Android manchmal keine Services

  Alt 23. Jan 2020, 15:49
Ich werde nach einem letzten Test wohl ein Ticket aufmachen, wobei ich jetzt noch einen Anhaltspunkt gefunden habe.

Im Prinzip habe ich in den Original-Java-Quelltext von Android hineingeschaut und DiscoverServices gesucht.
Diese sieht folgendermaßen aus:

Code:
public boolean discoverServices() {
        if (DBG) Log.d(TAG, "discoverServices() - device: " + mDevice.getAddress());
        if (mService == null || mClientIf == 0) return false;
        mServices.clear();
        try {
            mService.discoverServices(mClientIf, mDevice.getAddress());
        } catch (RemoteException e) {
            Log.e(TAG, "", e);
            return false;
        }
        return true;
    }
Wie man sehen kann, liefert diese Methode unter zwei Umständen "false" zurück.
Da bei der zweiten Option im try-catch-Block eine Error-Nachricht ins Debuglog geschrieben wird, habe ich das Ganze mit dem Android Device Monitor mal überprüft und siehe da, es wird keine Error-Nachricht geschrieben, was bedeutet, dass die erste Option jene ist, die bei mir eintritt:

Code:
if (mService == null || mClientIf == 0) return false;
Jetzt bin ich gerade dabei, mühsam zu überprüfen, warum das auftritt. In jedem Fall habe ich dann aber auch eine umfangreiche Informationskette für ein etwaiges Support-Ticket.
Sollte jemandem basierend auf diesen Informationen ein Geistesblitz kommen, wäre ich aber auch dafür natürlich sehr dankbar.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz