如何在具有其他BLE設備的環境中實施啓用BLE的智能手機的狀態檢測? 解決方案需要是用戶透明的,需要在睡眠模式下使用智能手機(不需要用戶採取任何措施,並且如果後臺進程需要始終處於活動狀態)你會如何做智能手機BLE室內檢測和定位?
在我看來,兩種可能性:
- 從智能電話本身,掃描其它BLE設備
- 來自其它設備,尋找智能電話
第一種可能性是難以/不可能由於OS重新實現關於後臺進程的限制。 由於BLE可見性超時,第二種可能性很難/不可能實現,這使得設備在離開設置頁面時不可見。
你的解決方案是什麼?
如何在具有其他BLE設備的環境中實施啓用BLE的智能手機的狀態檢測? 解決方案需要是用戶透明的,需要在睡眠模式下使用智能手機(不需要用戶採取任何措施,並且如果後臺進程需要始終處於活動狀態)你會如何做智能手機BLE室內檢測和定位?
在我看來,兩種可能性:
第一種可能性是難以/不可能由於OS重新實現關於後臺進程的限制。 由於BLE可見性超時,第二種可能性很難/不可能實現,這使得設備在離開設置頁面時不可見。
你的解決方案是什麼?
我只能詳細地談論iOS。
對於該平臺,使用iBeacons有很大的優勢。 (具有操作系統支持的BLE的特殊用例。)位置管理器支持將iBeacons註冊爲「位置」,並且操作系統在您輸入新的信標區域時通知您的應用程序。如果它沒有運行,它甚至會啓動你的應用程序。
這樣可以很好地解決您的應用程序是否正在運行的問題。
缺點是一次只能監視20個獨特的燈塔區域。有可能讓多個信標成爲同一區域的一部分,如果你聰明,你可以使用它來管理更多的信號點(你可以使用具有通配符的信標信標作爲主要或次要版本號,然後在實際檢測到信標時詢問該參數。)
定位幾乎是不可能的。從理論上說,你可以用三邊測量法來測量多個信標的位置,但實際上距離數據過於粗糙和變化很大。
謝謝。是的,我讀過關於地區監測和iBeacon顯示,針對iOS 7或更高版本:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring.html 如果我沒理解好,操作系統現在「聽」周圍的信標,並關注GPS座標,這樣我們就可以在進入信標範圍時喚醒應用程序,並在進入指定位置時喚醒應用程序。 – phenetas
不是真正的GPS位置。如果你願意的話,你可以這樣解釋它,但它實際上只在BLE發射器的範圍內。 –
帶電話應用程序的iBeacon – Paulw11
這可能是一個解決方案,iBeacon在環境中,然後通過手機掃描這些信標。但是如何確保BLE掃描始終運行,並且永遠不會在後臺中被殺死或禁用? – phenetas
那麼,如果用戶允許您的應用使用後臺定位服務,那麼您永遠不能保證「永不」,但核心位置信標監控在後臺保持活動狀態 – Paulw11