原文地址:http://www./lib/view/open1336638284718.html Android中網(wǎng)絡情況時有變化,比如從有網(wǎng)到沒網(wǎng),從wifi到gprs,gprs又從cmwap到cmnet...等等! 如果你的程序有些功能是需要網(wǎng)絡支持的,有時候就需要監(jiān)聽到網(wǎng)絡的變化情況進行相應的處理。 比如說下載一個文件,如果突然斷網(wǎng)了,怎么處理?網(wǎng)絡又恢復了,如何監(jiān)聽到并重連? 當網(wǎng)絡變化的時候系統(tǒng)會發(fā)出義個廣播broadcast,只要在程序中注冊一個廣播接收器BroadcastReceiver,并在IntentFilter中添加相應的過濾,這樣一旦網(wǎng)絡有變化,程序就能監(jiān)聽到
在MyReceiver中:
當網(wǎng)絡變化時,從有網(wǎng)到沒網(wǎng)也會發(fā)廣播,就舉的例子來說,如果下載時斷網(wǎng)了,接收到廣播的時候要判斷當前網(wǎng)絡是可用還是不可用狀態(tài),如果可用進行什么操作;不可用進行什么操作:
這個方法返回的aActiveInfo可以判斷網(wǎng)絡的有無,如果返回的是null,這時候是斷網(wǎng)了,如果返回對象不為空,則是連上了網(wǎng)。在返回的NetworkInfo對象里,可以有對象的方法獲取更多的當前網(wǎng)絡信息,比如是wifi還是cmwap等,就不多說了。 |
|