2017-08-07 43 views
0

我的應用當前正在使用PendingIntent.getBroadcast接收來自FusedLocationApi的位置更新。我的位置更新如何在Android O中受到影響?我瀏覽了此鏈接中提供的文檔:https://developer.android.com/preview/features/background.html#broadcasts。 但我仍然不確定我的情況。我沒有前臺或後臺服務來接收來自FusedLocationApi的位置更新。我已經註冊了一個廣播接收器,它不斷收聽來自FusedLocationApi的任何更新。Android O:位置更新中的新版Android會產生什麼影響?

在此先感謝。

+0

這取決於你的廣播接收機是在後臺還是前臺運行。如果它是一個活動的一部分,那麼位置更新應該像以前一樣工作。在此上下文中的前景應被解釋爲用戶可見,可以通過活動或前臺服務(可見爲通知)來解析。 – M66B

+0

我的BroadcastReceiver擴展了WakefulBroadcastReceiver。每次收到位置更新時,它都會在後臺啓動服務。 – Kanika

+0

您的廣播接收器也在某處運行,問題是這是否是前景或背景上下文。 – M66B

回答

1

是的,您的應用受到多種影響。無論您如何設置位置請求,您只會在一小時內收到幾次更新。此外,您無法從接收器啓動服務,只有在服務處於前臺或用戶將您的應用從電池偏好中排除時纔可以使用該服務。所以如果你真的需要頻繁的更新,你需要開始一個前臺服務,以保持你的應用程序在前臺。這項服務可以是「空的」(沒有工作),你可以保留你目前的設計,目標只是保持你的應用程序在前臺

+0

你能否詳細說明「另外你不能從你的接收器啓動一項服務,你只能這樣做該服務處於前臺,或者用戶將您的應用從電池優化中排除。「我沒有讀到這個。另外,您可以與我分享您找到此信息的鏈接嗎?謝謝。 – Kanika

+0

https://developer.android.com/preview/features/background.html – greywolf82

+0

有趣。謝謝。幾乎錯過了這一點。我能從後臺接收器作爲前臺服務啓動服務的次數是否有限制? – Kanika

相關問題