Android飛行模式獲取網絡狀態的變化
作者:佚名
Android接收網絡狀態變化的Receiver是在代碼中動態注冊的,也就是說在xml里面沒有注冊。然后在使用過程中,當有些手機在飛行模式下打開wifi我就獲取不到網絡狀態的變化,需要退出程序再進來一次才能修改已經顯示出來的網絡狀態。
Android接收網絡狀態變化的Receiver是在代碼中動態注冊的,也就是說在xml里面沒有注冊。然后在使用過程中,當有些手機在飛行模式下打開wifi我就獲取不到網絡狀態的變化,需要退出程序再進來一次才能修改已經顯示出來的網絡狀態。
解決辦法就是在注冊的時候,手工提高Receiver的優先級:
- IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
- filter.setPriority(Integer.MAX_VALUE);//設置優先級為最高
- registerReceiver(YourReceiver, filter);
然后就可以在飛行模式下獲取到網絡狀態的變化了。
責任編輯:徐川
來源:
OSChina