看板 AndroidDev 關於我們 聯絡資訊
抱歉 我發了很問多問題,我覺得我想法跟主管和客戶有出入,所以想在邊討論 我要提供 Android SDK(包含 so(dll)) 在 Unity 上,然後我先闡述一下我在 Android 上的做法,基本上我就是參考官方網站的API,寫個 Service 然後做 BLE Gatt connect,會得到 client for GATT,這service 會一直得到從藍芽底層 pass 上來的 data。而我也可以方便的用GATT物件來對BLE操作。 而客戶想要在 Unity 去存取 dll(so),客戶和主管覺得在 so 可以直接做BLE connect (雖然他們經驗值比我高但也沒實際弄過),然後想要直接在 Unity call 這 dll(so) 做連線處理然後要 data,我參考了 Google release 的 GVR Unity sdk ,看到他們的 確有在 dll(so)讀取,但他們也只是讀取 "data"例如 acc, gyro , orientation, status,在手機上的 Dardream Service(未公開程式碼),我覺得是用 java class去寫 的,裡面包含BLE連線之類,之所以這樣猜測是,他們在 release 這個 service 時我就 有反組譯大致看到一些藍芽API,他們透過 class 得到BLE data 後,再塞入到so(dll) 所以 Unity 上面才可以直接存取 data 例如 ACC Gyro 連線狀態等等。 如果依照 客戶和主管要連連線操作以及去接藍芽資料的 callback 都在 JNI 層做我是覺得 滿難的,甚至我在網路上根本也沒看到有人這樣的做法阿(或許有?) 最後我是想實作一個,提供 .jar(service & ble scanner) 和 so,讓客戶的activity 註冊到我的 class內,連到 service。然後建立連線後,data會一直存到 so 客戶直接在 Unity 存取這 so 就好。 不知道版有有沒有啥建議呢 感謝 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.69.181 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1513315579.A.0CC.html
gn00618777: OK 客戶以及主管同意我的想法了...感謝 12/16 14:52