題:
Android如何確定它是否可以連接互聯網?
Hayden Schiff
2014-02-14 07:47:34 UTC
view on stackexchange narkive permalink

我的Nexus 10(Android 4.4.2,無根)在我的無線網絡上運行不佳。儘管它可以連接並且我在瀏覽網頁時沒有任何問題,但是由於某種原因,Android認為它沒有互聯網連接。結果,“我的快速設置”中的wifi圖標變灰為橙色,更重要的是,應用似乎無法在後台檢查更新(例如,我在打開Gmail和手動檢查郵件時沒有問題,但Gmail贏了

此問題通常只發生在我家中的一個特定無線AP上,所以我相信問題出在該AP上而不是Android本身。但是我不知道Android如何確定它是否可以連接互聯網,因此我無能為力解決問題。我聽說Android會檢查Google服務以測試互聯網連接,但是鑑於我在使用Google服務方面沒有遇到問題,因此我不知道問題可能出在哪裡(嗯,YouTube應用似乎需要加載視頻元數據的時間異常長,但這可能沒有關係。)

因此,完全 Android會做什麼以確定它是否具有互聯網?是什麼導致該檢查失敗而又不影響其他任何事情?謝謝!

請注意,Android還具有強制門戶檢測功能,如果互聯網連接不穩定或不一致,這可能是相關的。參見https://android.stackexchange.com/questions/123129/how-does-wifi-in-android-detect-if-the-device-has-to-sign-in-or-not
一 回答:
abqnm
2014-02-14 08:55:06 UTC
view on stackexchange narkive permalink

當數據指示器為橙色時(在kit kat上;在舊版本上為灰色),這表示設備無法從GCM(Google Cloud Messaging,處理推送通知的框架)接收響應。此流量是通過端口5228、5229和5230發送的。如果AP阻塞或乾擾了這些端口上的流量,則推送通知將不起作用,並且數據指示燈將變為橙色。如果未阻止用於這些傳輸的端口(80、443等),則手動刷新和其他Internet通信仍然可以正常工作。

這正是我要找的信息,謝謝!原來,由於某種原因,AP關閉了NAT。
是的,可以做到。很高興您能夠找到問題所在。乾杯!


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...