如果你使用的是 Android 5.0 以上的原生系統(tǒng),那你很有可能遇到過這樣一個(gè)現(xiàn)象:狀態(tài)欄右上方的移動(dòng)信號(hào)或者 Wi-Fi 指示圖標(biāo)旁莫名出現(xiàn)一個(gè)奇怪的感嘆號(hào)。進(jìn)入 WLAN 設(shè)置后還會(huì)發(fā)現(xiàn),已經(jīng)連接的無線網(wǎng)絡(luò)下方出現(xiàn)「已連接,但不能連接到互聯(lián)網(wǎng)」這樣的提示。
從 Android 5.0 開始,當(dāng)系統(tǒng)連接網(wǎng)絡(luò)時(shí),系統(tǒng)模塊 NetworkMonitor 就會(huì)向 Google 的一個(gè)特定網(wǎng)址(http://www.google.com/generate_204) 發(fā)送數(shù)據(jù)請(qǐng)求來判斷網(wǎng)絡(luò)狀態(tài),如果成功就會(huì)返回一個(gè)特定的值表示設(shè)備可以連接到互聯(lián)網(wǎng)。這個(gè)「特定的網(wǎng)址」在國(guó)內(nèi)是無法正常訪問的,感嘆號(hào)因而也就出現(xiàn)了。
在感嘆號(hào)存在的狀態(tài)下,即便是我們連接了某個(gè) Wi-Fi ,手機(jī)仍然可能使用移動(dòng)數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)傳輸,這會(huì)導(dǎo)致在不知不覺間產(chǎn)生超額的流量費(fèi)。同時(shí),由于系統(tǒng)會(huì)不斷的嘗試聯(lián)網(wǎng),手機(jī)待機(jī)時(shí)間也會(huì)受到不小的影響。
換言之,我們一定不能對(duì)此置之不理。
遇到「感嘆號(hào)」問題目前有三種解決方法。
1. 通過應(yīng)用解決
2. 完全關(guān)閉網(wǎng)絡(luò)檢查服務(wù)
adb shell settings put global captive_portal_detection_enabled 0
3. 替換網(wǎng)絡(luò)檢查服務(wù)的網(wǎng)址
最好的辦法還是使用 ADB 命令的形式,將驗(yàn)證服務(wù)的網(wǎng)址(http://www.google.com/generate_204)替換成一個(gè)可以正常訪問的 「generate_204」網(wǎng)址,這種方法無需 Root,而且不影響 WiFi 連接問題,下面是具體的操作方法。
1. 首先,需要下載 ADB 工具包到電腦系統(tǒng)的根目錄。
2. 進(jìn)入工具包目錄,按住 Shift 鍵,同時(shí)在文件夾空白處點(diǎn)擊鼠標(biāo)右鍵,選擇「在此處打開命令窗口」,打開命令控制程序。
3. 將手機(jī)通過 USB 連接至電腦,打開手機(jī)的 USB 調(diào)試選項(xiàng),并選擇在「允許使用此臺(tái)電腦進(jìn)行調(diào)試」中選擇確定。
4. 經(jīng)過測(cè)試,目前國(guó)內(nèi)滿足要求的可訪問網(wǎng)址有不少(動(dòng)手能力強(qiáng)的也可以自己建立,但不再本次的討論范圍之內(nèi)),下面提供兩個(gè)訪問較為穩(wěn)定的,選擇任何一個(gè)網(wǎng)址均可:
5. 回到電腦桌面,在命令控制程序中,輸入 adb shell
。如果出現(xiàn)$
標(biāo)志說明 adb 服務(wù)已經(jīng)開啟,輸入 exit 退出命令。
6. 直接輸入以下命令并回車(任選其一):
adb shell settings put global captive_portal_server connect.rom.miui.com
adb shell settings put global captive_portal_server www.v2ex.com
7. 完成修改后可選擇手動(dòng)重啟手機(jī),或在當(dāng)前命令控制程序窗口下,輸入 adb shell reboot
進(jìn)行重啟,重啟完畢之后你會(huì)發(fā)現(xiàn)惱人的感嘆號(hào)已經(jīng)沒有了!
注:以上修改方法重啟不會(huì)失效,但如果刷機(jī)或者系統(tǒng)重置后,則需要重新操作一遍。
雖然這個(gè)情況很少發(fā)生,不過如果希望還原回去,也可以通過 adb 命令的形式,連接手機(jī)后在命令控制程序中輸入以下兩段命令:
adb shell settings delete global captive_portal_server
adb shell settings put global captive_portal_detection_enabled 1
之后手動(dòng)重啟手機(jī)或者輸入 adb shell reboot
命令重啟后即可還原。
推薦閱讀:智慧網(wǎng)
查看心情排行你看到此篇文章的感受是: