2017-08-29 82 views
1

即使應用處於後臺或終止狀態,我的應用能夠跟蹤用戶,並向服務器發送經緯度和長度。 我正在使用FundingLocationApi爲PendingIntent。我的問題是我如何更改LocationRequest的時間間隔,如果我的應用程序沒有在前臺運行?如何通過類似PUSH通知的方式更改位置間隔

我想做一些事情,比如趕上firebase提供的PUSH通知,然後改變這個間隔,但這是不可能的。

,如果我在服務器設置的時間間隔(setInterval的,setFastestInterval和setPriority)最frecuency和HIGH_ACCURACY,只抓一些這方面的請求,然後當我想獲得更多的frecuency,抓住它會耗盡太多電池所有的位置請求?

是否有可能避免讓客戶端(用戶智能手機)像一個等待通知的服務器一樣工作,比如firebase?

編輯: 我正在嘗試它似乎工作,但我仍然有通信問題。 我創建了一個服務和2個不同類型的API FusedLocationServices,此刻1個工作,另一個只是等待來自服務器的信號開始發送位置...而這正是我想知道如何在一個好的辦法。如何連續收聽服務器?有像firebase的onMessageReceived這樣的方法?

+0

你想設置兩個不同的時間間隔來獲取應用程序運行或死亡時的位置更新嗎? –

+0

我想要的是,該應用程序給我的位置有一定的間隔和準確性,但在某些時候,我想改變到最佳位置和更頻繁的間隔。像谷歌Android設備管理器。 – MatiRC

+0

你可以先刪除位置更新,然後重新註冊 –

回答

0

好的,我可以像我說的那樣處理這個問題,創建2個不同的LocationRequest,一個在第一次使用必要的配置打開應用程序時運行的所有時間,另一個在我實現firebase的onMessageReceived時創建。 我必須發送POST數據消息(我使用POSTMAN進行此操作)以確保onMessageReceived被調用,就是這樣!