/ / Jak czytać z urządzenia sprzętowego skanera kodów kreskowych Bluetooth - Android, Android-Bluetooth

Jak czytać z urządzenia sprzętowego skanera kodów kreskowych Bluetooth - Android, Android-Bluetooth

Próbowałem uzyskać kawałek kodu do połączenia z czytnikiem kodów bard bluetooth, który kupiłem i wypróbowałem prawie każdą bibliotekę w Androidzie Arsenalu.

Obecnie używam tego: https://github.com/MacroYau/Blue2Serial

W moim manifeście mam wszystkie uprawnienia:

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

Proszę również o pozwolenie po otwarciu aplikacji:

ActivityCompat.requestPermissions(this,
new String[]{android.Manifest.permission.BLUETOOTH,
android.Manifest.permission.BLUETOOTH_ADMIN,
android.Manifest.permission.BLUETOOTH_PRIVILEGED,
Manifest.permission.ACCESS_COARSE_LOCATION},
0);

Jestem w stanie połączyć się ze skanerem z aplikacji, paruje się dobrze. Ale kiedy coś skanuję, nie widzę public void onBluetoothSerialRead(String message) metoda rozpalania. Było dokładnie tak samo z wszystkimi innymi bibliotekami, których wypróbowałem. Mogłem sparować, ale nie czytać.

I odwrotnie, jeśli otworzę aplikację typu notatnik w tym samym telefonie i zeskanuję ją, zawartość zostanie natychmiast zapisana w notatniku.

Używam skanera: https://www.zebra.com/us/en/products/scanners/companion-scanners/cs4070.html

Ktoś z jakąś wskazówką, żeby mi dać?

Dziękuję Ci!

Odpowiedzi:

0 dla odpowiedzi № 1

Mogę wymyślić kilka rzeczy.

(1) Czytasz „źle zaprojektowane” 2Dkod kreskowy. Niektóre starsze „standardowe” kody kreskowe mają proste sumy kontrolne, więc wiele losowych danych za pomocą skanera laserowego może w rzeczywistości doprowadzić do zdekodowanej wartości. Jeśli dobrze pamiętam, Interleaved 2 z 5 był jednym z nich.

(2) Jeśli włączyłeś „odczyt wszystkich kodów kreskowych”, tomożliwe, że podsekwencja słowa kodowego (białe i czarne spacje) odwzorowuje na prawidłową definicję kodu kreskowego. Chciałbym włączyć tylko te typy kodów kreskowych 2D, które tak naprawdę czytacie.

(3) Po stronie Androida twój szeregowy Bluetoothczytnik nie odbiera danych wystarczająco szybko. Można to złagodzić skanerem wysyłającym wartości prefiksów / sufiksów, aby aplikacja wiedziała, że ​​jeśli ich nie dostaniesz, był to błąd transmisji.