日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Android 監(jiān)聽網(wǎng)絡的變化 (轉)

 _小女子_ 2015-03-18
原文地址: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)聽到
1
2
3
4
5
6
7
8
public static final String CONNECTIVITY_CHANGE_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
 private void registerDateTransReceiver() {
Log.i(TAG, "register receiver " + CONNECTIVITY_CHANGE_ACTION);
IntentFilter filter = new IntentFilter();
filter.addAction(CONNECTIVITY_CHANGE_ACTION);
filter.setPriority(1000);
registerReceiver(new MyReceiver(), filter);
}

在MyReceiver中:
1
2
3
4
5
6
7
8
9
@Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    Log.i(TAG, "PfDataTransReceiver receive action " + action);
    if(TextUtils.equals(action, CONNECTIVITY_CHANGE_ACTION)){//網(wǎng)絡變化的時候會發(fā)送通知
        Log.i(TAG, "網(wǎng)絡變化了");
        return;
    }
}

當網(wǎng)絡變化時,從有網(wǎng)到沒網(wǎng)也會發(fā)廣播,就舉的例子來說,如果下載時斷網(wǎng)了,接收到廣播的時候要判斷當前網(wǎng)絡是可用還是不可用狀態(tài),如果可用進行什么操作;不可用進行什么操作:
1
2
3
4
5
6
7
8
9
10
public static NetworkInfo getActiveNetwork(Context context){
    if (context == null)
        return null;
    ConnectivityManager mConnMgr = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    if (mConnMgr == null)
        return null;
    NetworkInfo aActiveInfo = mConnMgr.getActiveNetworkInfo(); // 獲取活動網(wǎng)絡連接信息
    return aActiveInfo;
}


這個方法返回的aActiveInfo可以判斷網(wǎng)絡的有無,如果返回的是null,這時候是斷網(wǎng)了,如果返回對象不為空,則是連上了網(wǎng)。在返回的NetworkInfo對象里,可以有對象的方法獲取更多的當前網(wǎng)絡信息,比如是wifi還是cmwap等,就不多說了。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多