android網(wǎng)絡(luò)監(jiān)聽學(xué)習(xí)筆記

網(wǎng)絡(luò)變化android自帶廣播、采用廣播接收器接收網(wǎng)絡(luò)變化的監(jiān)聽

自定義廣播接收
public class NetworkInfoBroadcastReceiver extends BroadcastReceiver {
    private static final String TAG = "NetworkInfoBroadcastRec";

    @Override
    public void onReceive(Context context, Intent intent) {
        String state = intent.getAction();
        if (!TextUtils.isEmpty(state)) {
            //wifi的轉(zhuǎn)態(tài)監(jiān)聽
            if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(state)) {
                int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
                switch (wifiState) {
                    case WifiManager.WIFI_STATE_DISABLED:
                        Log.e(TAG, "已禁用Wi-Fi");
                        break;
                    case WifiManager.WIFI_STATE_DISABLING:
                        Log.e(TAG, "已啟用Wi-Fi");
                        break;
                }
            }
            //網(wǎng)絡(luò)監(jiān)聽
            if (ConnectivityManager.CONNECTIVITY_ACTION.equals(state)) {
                Log.e(TAG, "網(wǎng)絡(luò)連接已發(fā)生更改 ");
                //獲取聯(lián)網(wǎng)狀態(tài)的NetworkInfo對象
                ConnectivityManager manager = (ConnectivityManager) MyApplication.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
                @SuppressLint("MissingPermission") NetworkInfo info = manager.getActiveNetworkInfo();
                if (info != null && info.isAvailable()) {
                    int type = info.getType();
                    switch (type) {
                        case 0://移動網(wǎng)絡(luò)
                            Log.e(TAG, "移動網(wǎng)絡(luò)");
                            break;
                        case 1://wifi
                            Log.e(TAG, "wifi");
                            break;
                        default:
                            break;
                    }
                } else {
                    Log.e(TAG, "無網(wǎng)絡(luò)");
                }
            }
        }
    }
}
為了方便全局監(jiān)聽在baseactivity中注冊
public class BaseActivity extends AppCompatActivity {
    NetworkInfoBroadcastReceiver receiver = new NetworkInfoBroadcastReceiver();
    @Override
    protected void onResume() {
        super.onResume();
        Register();
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (receiver != null) {
            unregisterReceiver(receiver);
            receiver = null;
        }
    }
   private void Register() {
            //這里我只添加了wifi姿態(tài)和網(wǎng)絡(luò)變化的廣播实夹、還有一些其他的網(wǎng)絡(luò)的廣播可以自行添加
            IntentFilter filter = new IntentFilter();
            filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
            filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
            registerReceiver(receiver, filter);
        }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赁炎,隨后出現(xiàn)的幾起案子盾鳞,更是在濱河造成了極大的恐慌,老刑警劉巖拱燃,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異力惯,居然都是意外死亡碗誉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門父晶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哮缺,“玉大人,你說我怎么就攤上這事诱建『眩” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵俺猿,是天一觀的道長茎匠。 經(jīng)常有香客問我,道長押袍,這世上最難降的妖魔是什么诵冒? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮谊惭,結(jié)果婚禮上汽馋,老公的妹妹穿的比我還像新娘。我一直安慰自己圈盔,他們只是感情好豹芯,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著驱敲,像睡著了一般铁蹈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上众眨,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天握牧,我揣著相機與錄音容诬,去河邊找鬼。 笑死沿腰,一個胖子當(dāng)著我的面吹牛览徒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颂龙,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼习蓬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了措嵌?” 一聲冷哼從身側(cè)響起友雳,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎铅匹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饺藤,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡包斑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涕俗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罗丰。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖再姑,靈堂內(nèi)的尸體忽然破棺而出萌抵,到底是詐尸還是另有隱情,我是刑警寧澤元镀,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布绍填,位于F島的核電站,受9級特大地震影響栖疑,放射性物質(zhì)發(fā)生泄漏讨永。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一遇革、第九天 我趴在偏房一處隱蔽的房頂上張望卿闹。 院中可真熱鬧,春花似錦萝快、人聲如沸锻霎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旋恼。三九已至,卻和暖如春氢拥,著一層夾襖步出監(jiān)牢的瞬間蚌铜,已是汗流浹背锨侯。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冬殃,地道東北人囚痴。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像审葬,于是被迫代替她去往敵國和親深滚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 2.1 Activity 2.1.1 Activity的生命周期全面分析 典型情況下的生命周期:在用戶參與的情況下...
    AndroidMaster閱讀 3,040評論 0 8
  • 前言Android四大組件重要性已經(jīng)不言而喻了涣觉,今天談?wù)劦氖茿ndroid中的廣播機制痴荐。在我們上學(xué)的時候,每個班級...
    hahaoop閱讀 850評論 0 5
  • 廣播機制簡介 Android中的廣播機制更加靈活官册,因為Android中的每個應(yīng)用程序都可以對自己感興趣的廣播進行注...
    染微言閱讀 531評論 0 0
  • 一生兆、簡歷準(zhǔn)備 1、個人技能 (1)自定義控件膝宁、UI設(shè)計鸦难、常用動畫特效 自定義控件 ①為什么要自定義控件? Andr...
    lucas777閱讀 5,204評論 2 54
  • 本篇文章主要介紹以下幾個知識點:廣播機制的簡介员淫;接收系統(tǒng)廣播:動態(tài)注冊與靜態(tài)注冊合蔽;發(fā)送自定義廣播;使用本地廣播介返;實...
    開心wonderful閱讀 1,425評論 1 7