Mam aplikację do inwentaryzacji w Kotlinie działającą na terminalach Zebra. Na tych urządzeniach obsługa skanera jest banalna i działa bardzo dobrze.
Niestety ktoś sobie wymyślił, że będzie używał Eyoyo 2D Bluetooth Ring Barcode Scanner.
Próbowałem obsłużyć to w aplikacji ale niestety nie idzie mi to :(
Czy ktoś jest chętny na napisanie kodu, który będzie odczytywał kody ze skanerów na bluetooth (min. Android 9), oczywiście odpłatnie.
Te urządzenia mogą działać jako BLE,HID lub SPP.
Jak ktoś z Państwa zainteresowany to proszę pisać.
Pozdrawiam
0
0
A możesz napisać, z czym dokładnie jest problem?
0
w skrócie
- urządzenie jako takie potrafię pobrać - dostaję adres UUID i nazwę (np val xpairedDevices = btManager.adapter.bondedDevices;)
próbowałem tak :
class SPPconnect {
companion object {
lateinit var ServerSocket: BluetoothServerSocket // The local server socket
lateinit var socket: BluetoothSocket // socket used for communication
val A_UUID: UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB")
val A_NAME = "BluetoothServer"
suspend fun acceptConnection(btadapter: BluetoothAdapter): String {
val BTadapter: BluetoothAdapter = btadapter
try {
ServerSocket = BTadapter.listenUsingInsecureRfcommWithServiceRecord(A_NAME, A_UUID)
socket = ServerSocket.accept()
}catch(e:SecurityException){
Log.i("BT",e.message.toString())
}
// a call has been accepted
ServerSocket.close() // Close the local Server Socket
return "Accepted"
}
}
}
wisi na ServerSocket.accept()
potem napisałem funkcję :
fun connect(device: BluetoothDevice) {
val permission = ContextCompat.checkSelfPermission(this,
Manifest.permission.BLUETOOTH_SCAN)
if (permission != PackageManager.PERMISSION_GRANTED
) {
makeRequest();
}
m_bluetoothAdapter?.cancelDiscovery()
val socket = device.createInsecureRfcommSocketToServiceRecord( device.uuids[0].uuid)
m_bluetoothAdapter.enable();
Thread().run {
while (!socket.isConnected) {
try {
socket.connect()
} catch (e: Exception) {
Log.d("DEVICE_CONNECT_FAIL", e.toString())
}
}
if (socket.isConnected) {
interrupt()
}
}
}
to przy socket.connect()
mam getBluetoothService() called with no BluetoothManagerCallback
Generalnie nie bardzo to ogarniam chyba i tak błądzę i nic z tego nie ma :(