標籤:android 網路 android studio 網路狀態
Android擷取當前網路狀態
源碼
(Android Studio工程):http://download.csdn.net/detail/q4878802/9052833
添加擷取網路狀態的許可權
<!-- 擷取網路狀態的許可權 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
工具類
package com.kongqw.kqwnetworkdemo.engine;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.widget.Toast;/** * Created by kongqw on 2015/8/27. */public class KqwNetworkUtil { /** * 構造私人化 不允許建立對象 */ private KqwNetworkUtil() { } /** * 擷取當前的網路狀態是否可用 * * @param context * @return */ public static boolean getNetworkState(Context context) { // 擷取手機所有串連管理對象(包括對wi-fi,net等串連的管理) ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); // 擷取NetworkInfo對象 NetworkInfo[] networkInfos = connectivityManager.getAllNetworkInfo(); // 遍曆每一個對象 for (NetworkInfo networkInfo : networkInfos) { if (networkInfo.getState() == NetworkInfo.State.CONNECTED) { // debug資訊 Toast.makeText(context,"TypeName = " + networkInfo.getTypeName(),Toast.LENGTH_SHORT).show(); // 網路狀態可用 return true; } } // 沒有可用的網路 return false; }}
測試類別
package com.kongqw.kqwnetworkdemo;import android.app.Activity;import android.os.Bundle;import android.widget.Toast;import com.kongqw.kqwnetworkdemo.engine.KqwNetworkUtil;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (KqwNetworkUtil.getNetworkState(this)) { Toast.makeText(this, "當前網路可用", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "當前網路不可用", Toast.LENGTH_SHORT).show(); } }}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。所有文章,任何一個技術點,無論是原創還是轉載,都是在程式中使用過或者Demo測試過才發表!博主QQ:4878802。
Android擷取當前網路狀態