2015-06-17 51 views
0

我使用的是使用AltBeacon庫的應用程序。到目前爲止,這很好,但現在我有背景模式的問題。Nexus 5,BootstrapNotifier和後臺模式

所以,當我退出我的應用程序,我調用mBeaconManager.setBackgroundMode(true);.兩種情況:
- 我至少有1個燈塔附近:該方法didEnterRegion很好解僱,一切都很好
- 如果我不信等待超過1小時(1小時30分或接近)附近,然後有一個:didEnterRegion是沒有更多被解僱。我紅色的文檔,所以我明白它不會很快,但即使在15分鐘後,也沒有任何發生。

在另一臺設備(Nexus 4 ...)上這兩種情況都可以使用。即使在2小時後,應用程序被殺......等等,didenterRegion仍然被解僱。

到目前爲止,Nexus 5在Android 5.1.1上,而Nexus 4在Android 5.1.1上也是如此。似乎只在Nexus 5上...

任何想法?

非常感謝

回答

1

這可能是因爲在Nexus 5的操作系統將終止在後臺您的應用程序由於內存不足或其他條件。你可以說,如果這是通過修改代碼來設置發生:

beaconManager.setDebug(true); 

然後看着logcat的,而在後臺的應用程序。如果應用程序仍在運行(並等待燈塔檢測),你應該看到線,如:

Waiting to start full Bluetooth scan for another XXXX milliseconds 

如果你沒有看到類似上面的紋路,那麼這可能表明該應用程序已被殺害OS 。如果確實發生了這種情況,那麼在這些條件下重新啓動應用程序的修復程序將被放入可用庫的一個2.3-beta4版本here中。它目前還不能在JCenter/Maven中使用,但是當2.3版本發佈測試版時將會發布。

一個解釋:如果你有Android 5.x,背景檢測應該是非常快的。如果一切工作正常,您將在打開信標後的5秒鐘內收到來自庫的回叫。

+0

好的,謝謝你的回答,我會盡力做到這一點,讓我的Nexus 5連接到PC在1小時30分。因爲在那之後,當我在計算機上放置USB時,通知返回了(如doc中所示:啓動或充電手機時,庫重新啓動)。所以我目前看不到日誌... 爲了您的澄清,謝謝,這是真的,規範是快速的。不知道它是5秒,但它對我來說足夠快:p – castrogne

+0

好的非常感謝,似乎是這樣。來電後,線路停留在那裏: 正在等待另一個51758毫秒開始全藍牙掃描 並且在信標打開後,沒有檢測到。所以我認爲你是真的,我正在等待發布! 此致 – castrogne