Android Network develop (2)----network status check
Last Update:2015-07-15
Source: Internet
Author: User
<span id="Label3"></p><p><p>Check & Get Network status</p></p><p><p>normally, there'll be, Both type with phone Network:wifi & Mobile (gprs,3g,4fg)</p></p><p><p>so, we have the can test connect and get the Connect type.</p></p><p><p>1.check connect:</p></p><pre><pre> <span style="color: #0000ff;"></span> public <span style="color: #0000ff;">Static</span> <span style="color: #0000ff;">Boolean</span> <span style="color: #000000;">isOnline (context Context) { </span>=<span style="color: #000000;"> (connectivitymanager) context.getsystemservice (context.connectivity_service); </span> =<span style="color: #000000;"> Connmgr.getactivenetworkinfo (); </span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">null</span> &&<span style="color: #000000;"> networkinfo.isconnected ()); }</span></pre></pre><p><p>2.get Connect type:</p></p><pre> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span><span style="color: #000000;"><span style="color: #000000;">networkstatus traceconnectstatus (context context) {networkstatus mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.invalid; Connectivitymanager Connmgr</span></span>=<span style="color: #000000;"><span style="color: #000000;">(connectivitymanager) Context. Getsystemservice (context.connectivity_service); Networkinfo Networkinfo</span></span>=<span style="color: #000000;"><span style="color: #000000;">Connmgr. Getnetworkinfo (connectivitymanager.type_wifi); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Boolean</span></span>Iswificonn =<span style="color: #000000;"><span style="color: #000000;">networkinfo.isconnected (); Networkinfo</span></span>=<span style="color: #000000;"><span style="color: #000000;">Connmgr.getnetworkinfo (connectivitymanager.type_mobile); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Boolean</span></span>Ismobileconn =<span style="color: #000000;"><span style="color: #000000;">networkinfo.isconnected (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;"><span style="color: #000000;">(ismobileconn) {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;"><span style="color: #000000;">(iswificonn) {mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.both; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.gprs; } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;"> { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;"><span style="color: #000000;">(iswificonn) {mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.wifi; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.invalid; } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">mstatus; }</span></span></pre><p><p>3.connect Status Changed:</p></p><p><p>There is an intent we can listener. "android.net.conn.CONNECTIVITY_CHANGE"</p></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;"></span> package</span><span style="color: #000000;"><span style="color: #000000;">com.joyfulmath.androidstudy.connect;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">java.lang.ref.WeakReference;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">com.joyfulmath.androidstudy.TraceLog;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.content.BroadcastReceiver;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.content.Context;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.content.Intent;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.content.IntentFilter;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.net.ConnectivityManager;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.net.NetworkInfo;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">class</span></span><span style="color: #000000;"><span style="color: #000000;">Networkutils {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span>String connectivity_change_action = "android.net.conn.CONNECTIVITY_CHANGE"<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">enum</span></span><span style="color: #000000;"><span style="color: #000000;">networkstatus{invalid,gprs,wifi,both}</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span>Weakreference<context> Mweakcontext =<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span>Connectreceiver Mconreceiver =<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span><span style="color: #000000;"><span style="color: #000000;">;</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">private NetworkStatus mnetworkstatus = networkstatus.invalid;</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span><span style="color: #000000;"><span style="color: #000000;">networkstatus traceconnectstatus (context context) {networkstatus mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.invalid; Connectivitymanager Connmgr</span></span>=<span style="color: #000000;"><span style="color: #000000;">(connectivitymanager) Context. Getsystemservice (context.connectivity_service); Networkinfo Networkinfo</span></span>=<span style="color: #000000;"><span style="color: #000000;">Connmgr. Getnetworkinfo (connectivitymanager.type_wifi); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Boolean</span></span>Iswificonn =<span style="color: #000000;"><span style="color: #000000;">networkinfo.isconnected (); Networkinfo</span></span>=<span style="color: #000000;"><span style="color: #000000;">Connmgr.getnetworkinfo (connectivitymanager.type_mobile); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Boolean</span></span>Ismobileconn =<span style="color: #000000;"><span style="color: #000000;">networkinfo.isconnected (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;"><span style="color: #000000;">(ismobileconn) {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;"><span style="color: #000000;">(iswificonn) {mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.both; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.gprs; } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;"> { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;"><span style="color: #000000;">(iswificonn) {mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.wifi; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{mstatus</span></span>=<span style="color: #000000;"><span style="color: #000000;">networkstatus.invalid; } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">mstatus; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Boolean</span></span><span style="color: #000000;"><span style="color: #000000;">isOnline (context Context) {connectivitymanager connmgr</span></span>=<span style="color: #000000;"><span style="color: #000000;">(connectivitymanager) Context.getsystemservice (context.connectivity_service); Networkinfo Networkinfo</span></span>=<span style="color: #000000;"><span style="color: #000000;">Connmgr.getactivenetworkinfo (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span>(networkinfo! =<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span>&&<span style="color: #000000;"><span style="color: #000000;">networkinfo.isconnected ()); } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;"><span style="color: #000000;">networkutils (context Context) {mweakcontext</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span>Weakreference<context><span style="color: #000000;"><span style="color: #000000;">(context); } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">registerconnectreceiver () {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(mweakcontext.get ()! =<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span><span style="color: #000000;"><span style="color: #000000;">) { </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(mconreceiver = =<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span><span style="color: #000000;"><span style="color: #000000;">) {mconreceiver</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Connectreceiver (); } intentfilter Filter</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">Intentfilter (); Filter.addaction (connectivity_change_action); Filter.setpriority (</span></span>1000<span style="color: #000000;"><span style="color: #000000;">); Mweakcontext.get (). registerreceiver (mconreceiver, filter); } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">unregisterconnectreceiver () {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(mweakcontext.get ()! =<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span>&& mconreceiver!=<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span><span style="color: #000000;"><span style="color: #000000;">) {mweakcontext.get (). unregisterreceiver (mconreceiver); Mconreceiver</span></span>=<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span><span style="color: #000000;"><span style="color: #000000;">; } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">connectchanged () {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(mweakcontext.get ()! =<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span><span style="color: #000000;"><span style="color: #000000;">) {networkstatus Status</span></span>=<span style="color: #000000;"><span style="color: #000000;">traceconnectstatus (mweakcontext.get ()); TRACELOG.I (</span></span>"status:" +<span style="color: #000000;"><span style="color: #000000;">status); } } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">class</span></span>Connectreceiver<span style="color: #0000ff;"><span style="color: #0000ff;">extends</span></span><span style="color: #000000;"><span style="color: #000000;">Broadcastreceiver{@Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">onreceive (context context, Intent Intent) {String Action</span></span>=<span style="color: #000000;"><span style="color: #000000;">intent.getaction (); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(action!=<span style="color: #0000ff;"><span style="color: #0000ff;">NULL</span></span>&&<span style="color: #000000;"><span style="color: #000000;">action.equals (CONNECTIVITY_CHANGE_ACTION)) {connectchanged (); } } }}</span></span></pre><p><p></p></p><p><p>Android Network develop (2)----network status check</p></p></span>