1. 程式人生 > >Android開發動態的監聽網路狀態的變化

Android開發動態的監聽網路狀態的變化

主要思路:使用Android中的四大元件之:BrocastReceiver監聽網路狀態的變化。接收到網路狀態改變的廣播之後判斷當前的網路是否可用。

建立廣播接收器MyNetworkReceiver

public class MyNetworkReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //**判斷當前的網路連線狀態是否可用*/
        ConnectivityManager connectivityManager = 
        (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = connectivityManager.getActiveNetworkInfo();
        if
( info != null && info.isAvailable()){ //當前網路狀態可用 int netType = info.getType(); if (netType == ConnectivityManager.TYPE_WIFI){ Log.e("NETSTATUE", "當前網路狀態為-wifi"); }else if (netType == ConnectivityManager.TYPE_MOBILE ){ Log.e("NETSTATUE"
, "當前網路狀態為-mobile"); } }else { //當前網路不可用 Log.e("NETSTATUE", "無網路連線"); } } }

一、BroadcastReceiver的用法之靜態註冊:
在AndroidManifest清單檔案中註冊廣播接收器

<receiver
     android:name=".MyNetworkReceiver">
     <intent-filter>
            <action  android:name
="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter> </receiver>

二、BroadcastReceiver的用法之動態註冊
可以在Activity的OnCreate()方法中註冊onDestory()方法中登出
亦可以再Application的onCreate()方法中註冊onTerminate()方法中登出
註冊:

receiver = new YunNetworkReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(receiver,intentFilter);

登出:

unregisterReceiver(receiver);

相關推薦

android 網路實時網路狀態變化網路型別判斷

android 中 我們經常需要判斷 各種網路型別   然後需要給使用者做出相應的提示,一般網路型別有 2g ,3g,4g ,wifi,無網路等等。 1. 網路型別判斷 TelephonyManag

android網路狀態變化

許可權 uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” uses-permission android:name=”android.permission.INTER

Android開發動態網路狀態變化

主要思路:使用Android中的四大元件之:BrocastReceiver監聽網路狀態的變化。接收到網路狀態改變的廣播之後判斷當前的網路是否可用。 建立廣播接收器MyNetworkReceiver public class MyNetworkRecei

Android動態網路變化

廣播接收器可以自由地對自己感興趣的廣播進行註冊,這樣當有相應的廣播接收時,廣播接收器就能收到該廣播,並在內部處理其相應的邏輯。廣播註冊的方法有兩種,在程式碼中註冊與在AndridManifest.xml中註冊,前者稱為動態註冊,後者為靜態註冊,接下來我們就說說關於動態註冊

android 網路狀態變化+Observer

平時我們在請求錯誤的情況下,通常會進行處理一下,一般來說,主要分為兩方面的錯誤: 1、沒有網路的錯誤 2、在有網路的情況下,我們客戶端的錯誤或者伺服器端的錯誤 今天這篇部落格主要闡述以下問題: 1、怎樣監聽網路狀態的變化,包括是否開啟WiFi,否開啟資料

android 網路狀態變化及實戰

android 監聽網路狀態的變化及實際應用 本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家釋出 平時我們在請求錯誤的情況下,通常會進行處理一下,一般來說,主要分為兩方面的錯誤 - 沒有網路的錯誤 - 在有網路的情況下,我們客

Android 程式實時網路變化狀態

public class MainActivity extends AppCompatActivity { private TextView tv; @Override protected void onCreate(Bundle savedInst

Android開發軟鍵盤狀態(彈出收回)

概述 如何使用 隱患 概述 在我們開發過程中,有時需要監聽手機軟鍵盤狀態,但是Android沒有這樣的API,所以需要我們自己處理。 實現方案 實現效果與原理 先上一張效果圖 可以看到我們準確的監聽到了軟鍵盤的彈出與收起事

Javascript----input事件實現動態textarea內容變化

span oninput idt ava ntb ima property onchange pre 1、代碼 <!DOCTYPE html> <html> <head> <title>textarea輸入文字監聽

android開發 事件

第一種:匿名內部類作為事件監聽器類  大部分時候,事件處理器都沒有什麼利用價值(可利用程式碼通常都被抽象成了業務邏輯方法),因此大部分事件監聽器只是臨時使用一次,所以使用匿名內部類形式的事件監聽器更合適,實際上,這種形式是目前是最廣泛的事件監聽器形式。上面的程式程式碼就是匿名內部類來建

14 展訊Sprd設定-電池-程序狀態變化方法 PROCESS_STATE

1. 程序狀態列表 frameworks/base/core/java/android/app/ActivityManager.java 程序狀態,也可以表徵程序的優先順序adj,讓系統自動進行記憶體回收,同樣也可以作為程序管理的參考引數 /** @hide

Swift實時網路狀態(更新到Swift3)

最近做個專案,需要實時的監聽網路連線狀態,網路連線斷開時需要提醒使用者手動開啟網路,網路重新連線上之後需要做些操作。身為小白的我感到很有壓力,所以就不自覺的又上度娘那裡去取經了。(哈哈,初學者嘛,大家理解)自己整理下,加深下印象以後也方便用 :) 下面直入正題,如何實現實時監聽網路連線

Swift網路變化

使用Alamofire的網路管理監聽網路 1.程式啟動後,若無網則提示,來網後提示,網路變化提示併發出通知 2.程式啟動後,若有網則不提示,網路變化提示併發出通知 import UIKit import Alamofire enum NetworkingStatus { c

Android開發發出的簡訊

       為了監聽指定的ContentProvider的資料的改變,需要通過ContentResolver向指定Uri註冊CotentObserver監聽器。ContentResolver提供瞭如下方法來註冊監聽器:   publicfinal void registerContentObserver(

Android開發或獲取手機簡訊內容

最近開始學習安卓,要做一個可以監聽手機簡訊的內容,做個筆記,方便以後檢視 有兩種方式: 方式一:通過廣播監聽簡訊資訊 註冊一個廣播接收器 <receiver android:name="接收器包名"> <intent-filte

詳解vuex結合localstorage動態storage的變化

這篇文章主要介紹了詳解vuex結合localstorage動態監聽storage的變化,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 需求:不同元件間共用同一資料,當一個元件將資料發生變化時,其他元件也可以響應該變化。 分析:vue無法監聽localstorage的變化。lo

RealReachability實時網路狀態

RealReachability優勢: 離線模式對網路連線狀態的要求比較苛刻,且實際場景經常會遇到“偽連線”的情況蘋果提供的Reachability面對此場景力不從心。多方研究後引入了ping能力(此方案流量開銷最小,也最簡單),實現了簡單的實際網路連線監測;後面經過提

Android開發手機來電

      TelephonyManager是一個管理手機通話狀態、電話網路資訊的服務類,該類提供了大量的getXxx(),方法獲取電話網路的相關資訊。關於 程式執行結果: log_phone檔案: 應用例項: package com.jph.monitorphone;

Uiautomator2網路狀態,連線指定Wi-Fi

工作中接觸到uiautomator測試框架,從1.0到2.0,改動還是挺大的,1.0是以jar的形式push到手機中,主要是已Eclipse開發為主,到了2.0則是以apk形式安裝到手機中,主要是以Android Studio開發為主,個人感覺還是2.0要強大,而且方便一些。

廣播時刻網路狀態

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>public class MainActi