[問題] Android BLE 連線問題

看板AndroidDev作者 (藍藍欠)時間7年前 (2017/05/31 19:36), 7年前編輯推噓3(3021)
留言24則, 5人參與, 最新討論串1/1
最近發現自己的程式好像怪怪的 apk中有一個activity和service, service 中就寫關於和裝置連線的 code,例如用安卓 開發網站提供的範例code, gatt = device.connectGatt(xx,xx,mGattcallback); 當獲得 gatt後,activity 就可以 bind 到此 service,透過 gatt 來做連線或斷線。 service 中,有實作此裝置支援的 custom service 和 characteristic(notify) , activity 獲得裝置的 command 都是透過此 characteristic改變,然後廣播到 activity,現在,我從 activity disconnect裝置,偶爾會出現斷線後,又 自動連線上,斷線後不應該自動連線阿阿阿,因為這樣 mGattCallback的onConnectStateChange()竟然被呼叫兩次(一次斷線一次又自動連線), 我確定不是我去 call gatt.connect(),而是由底層 callback 呼叫,這比較可能 是上層問題還是韌體那邊? 有人有遇過嗎?? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.69.181 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1496230577.A.41E.html

06/01 10:39, , 1F
我先用work around方式,再 gatt.disconnect()後
06/01 10:39, 1F

06/01 10:40, , 2F
收到 onConnectStateChange(),再下 gatt.close()
06/01 10:40, 2F

06/01 10:40, , 3F
釋放資源
06/01 10:40, 3F

06/01 15:38, , 4F
https://goo.gl/JEhrnO 這是我在 nordic 官方po的
06/01 15:38, 4F

06/01 15:38, , 5F
問題討論串
06/01 15:38, 5F
※ 編輯: blueblueChen (61.220.69.181), 06/01/2017 15:40:27

06/01 20:03, , 6F
會不會是service被bind兩次?
06/01 20:03, 6F

06/02 11:43, , 7F
埋了log,上層apk沒有再一次 bindService也沒有
06/02 11:43, 7F

06/02 11:44, , 8F
做任何 gatt.connect()的動作,是由底層通知我又再
06/02 11:44, 8F

06/02 11:45, , 9F
連線成功,和FW工程師討論,SDK有裝置接受斷線後
06/02 11:45, 9F

06/02 11:46, , 10F
不要作重連的動作,不過預設是有做重連。這問題反映
06/02 11:46, 10F

06/02 11:46, , 11F
給 Nordic 官方,他們也覺得很困惑..
06/02 11:46, 11F

06/02 17:09, , 12F
你可以去GITHUB找BORDIC官方的APP來測
06/02 17:09, 12F

06/02 17:10, , 13F
nRF UART這軟體試看看 可以的話就拿他們的SOURCE來改
06/02 17:10, 13F

06/02 17:10, , 14F
上面打錯 nordic
06/02 17:10, 14F

06/03 10:45, , 15F
我自己改的APK就是從他們官方APK來改的,也用沒改的
06/03 10:45, 15F

06/03 10:45, , 16F
來測,沒改的也是出現同樣的問題,我在討論串有PO
06/03 10:45, 16F

06/03 10:47, , 17F
我在討論串說我注釋掉 mService.close()是因為他會
06/03 10:47, 17F

06/03 10:48, , 18F
自己重連,而導致null point operation
06/03 10:48, 18F

06/03 10:48, , 19F
官方說要我複製這樣的問題要朝這問題修正,但導致
06/03 10:48, 19F

06/03 10:49, , 20F
null pointer operation的 root cause就是它會自動
06/03 10:49, 20F

06/03 10:51, , 21F
重連...下禮拜我再去做確認..身邊沒有裝置
06/03 10:51, 21F

06/08 22:41, , 22F
推,同是nRF晶片開發者,期待您的分享。
06/08 22:41, 22F

06/12 22:30, , 23F
我也是用Nordic 但我沒這問題 叫fw在onConnected裡面埋l
06/12 22:30, 23F

06/12 22:30, , 24F
og看看是不是真的有reconnection的問題
06/12 22:30, 24F
文章代碼(AID): #1PBggnGU (AndroidDev)
文章代碼(AID): #1PBggnGU (AndroidDev)