Итак, у нас есть приложение для Android, которое должно сопрягаться с модулем Bluetooth Bluegiga WT-11, а затем прослушивать серверный сокет на предмет соединений с устройства.Мы используем SPP и RFCOMM для связи с «хорошо известным» UUID 00001101-0000-1000-8000-00805F9B34FB
.Сопряжение работает нормально, но прием соединений на серверном сокете (создан с использованием listenUsingRfcommWithServiceRecord()
, затем ожидание на accept()
) не работает надежно.Иногда он работает, но иногда он перестает работать вместе или просто работает с перерывами в другое время.
Что больше всего сбивает с толку, так это то, что телефон, кажется, получает соединение с устройством, выплевывает несколько строк в LogCat, а затем полностью игнорирует соединение;устройство считает, что соединение не установлено, и приложение никогда не подключается к accept()
.
. Вот LogCat, когда телефон (Galaxy S II) получает соединение, но ничего с ним не делает (I 'мы уже пробовали это на нескольких телефонах, дайте мне знать, если вам нужны журналы с других телефонов или протокол успешного подключения):
10-05 05:13:14.255: DEBUG/(3341): >>> START GKI_timer_update(), wake_lock_count:3
10-05 05:13:14.255: DEBUG/(3341): >>> RESTARTED GKI_timer_update(): run_cond: 1
10-05 05:13:14.430: WARN/(3341): info:x10
10-05 05:13:14.430: INFO/DTUN_CLNT(3492): dtun-rx signal [DTUN_SIG_DM_LINK_UP] (id 51) len 12
10-05 05:13:14.430: DEBUG/DTUN_HCID4(3492): dtun_dm_sig_link_up()
10-05 05:13:14.430: INFO/DTUN_HCID4(3492): dtun_dm_sig_link_up: dummy_handle = 375
10-05 05:13:14.435: ERROR/BluetoothEventLoop.cpp(2785): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/3492/hci0/dev_00_07_80_4D_B8_E7
10-05 05:13:14.445: INFO//system/bin/btld(3339): send_ctrl_msg: [BTL_IFS CTRL] send BTLIF_DTUN_SIGNAL_EVT (CTRL) 10 pbytes (hdl 28)
10-05 05:13:14.530: WARN/(3341): amp_find_llcb_by_cid search for CID:0x0040 entry LCID:0x0000 in use 0 CID:0x0001
10-05 05:13:14.910: WARN/(3341): BTA_DM_LINK_DOWN_EVT::bdaddr 00:07:80:4d:b8:e7 reason x13
10-05 05:13:14.910: INFO/DTUN_CLNT(3492): dtun-rx signal [DTUN_SIG_DM_LINK_DOWN] (id 49) len 13
10-05 05:13:14.910: DEBUG/DTUN_HCID4(3492): dtun_dm_sig_link_down()
10-05 05:13:14.910: INFO/DTUN_HCID4(3492): dtun_dm_sig_link_down device = 0x11c18 handle = 375 reason = 19
10-05 05:13:14.915: ERROR/BluetoothEventLoop.cpp(2785): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/3492/hci0/dev_00_07_80_4D_B8_E7
10-05 05:13:14.915: INFO//system/bin/btld(3339): send_ctrl_msg: [BTL_IFS CTRL] send BTLIF_DTUN_SIGNAL_EVT (CTRL) 11 pbytes (hdl 28)
10-05 05:13:14.930: INFO/BluetoothHIDService(2785): Received intent Intent { act=android.bluetooth.device.action.ACL_DISCONNECTED (has extras) }, device = 00:07:80:4D:B8:E7
10-05 05:13:14.930: INFO/BluetoothHIDService(2785): ...ACL disconnected
10-05 05:13:15.865: DEBUG/BatteryService(2785): update start
10-05 05:13:15.870: ERROR/BatteryService(2785): TMU status = 0
10-05 05:13:15.870: DEBUG/BatteryService(2785): updateBattery level:97 scale:100 status:2 health:2 present:true voltage: 4176 temperature: 270 technology: Li-ion AC powered:false USB powered:true icon:17302229
10-05 05:13:15.895: INFO/StatusBarPolicy(2903): BAT. S:2 H:2
10-05 05:13:16.165: DEBUG/(3341): >>> STOP GKI_timer_update(), wake_lock_count:2
10-05 05:13:16.165: DEBUG/(3341): >>> SUSPENDED GKI_timer_update()
@ WBAN Не могли бы вы помочь с этим вообще?Я вижу, вы сделали нечто очень похожее.
Любая помощь будет принята с благодарностью!
Спасибо!