3

我們遇到了以下行爲,似乎沒有什麼意義:試圖連接的GoogleApiClient成功的實例,並在我們的GoogleApiClient回報實例調用isConnected()如此,即使很明顯,客戶端無法連接到服務。GoogleApiClient.isConnected()返回在飛行模式下真正

爲了確認此行爲,我在啓動應用程序之前啓用了飛行模式,然後打印由isConnected()返回的值,它等於true

所以現在我很困惑。這是預期的行爲還是錯誤?它報告一個成功的連接,因爲API處理透明地離線?

回答

2

此isConnected()調用與設備是否具有連接無關,它解釋了您是否已連接到設備上的Google Play服務服務。有許多操作只有在連接到服務之後才能執行,但無論用戶是否在線(例如寫入Plus時間),都可以執行這些操作。

沒有調用來確定用戶是否連接到互聯網,因爲那裏已經是衆所周知的方法來做到這一點,而且連接脆弱。僅僅因爲你的用戶在他們開始你的活動時連接了,並不意味着你準備好打電話時他們會在幾分鐘(甚至幾秒)內連接上。

話雖這麼說,有時會做出需要(特別授權您的應用程序時)互聯網連接服務的連接。

相關問題