国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android網絡判斷知識小結

2020-04-11 11:09:36
字體:
來源:轉載
供稿:網友

Android中判斷當前網絡是否可用

應用場景:實現判斷當前網絡是否可用

當前有可用網絡,如下圖:

當前沒有可用網絡,如下圖:

實現步驟:

1、獲取ConnectivityManager對象

Context context = activity.getApplicationContext();// 獲取手機所有連接管理對象(包括對wi-fi,net等連接的管理)ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

2、獲取NetworkInfo對象

// 獲取NetworkInfo對象NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

3、判斷當前網絡狀態是否為連接狀態

if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED){   return true;}

4、在AndroidManifest.xml中添加訪問當前網絡狀態權限

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

代碼如下:

public class ClassTestDemoActivity extends Activity{  @Override  public void onCreate(Bundle savedInstanceState)  {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    if (isNetworkAvailable(ClassTestDemoActivity.this))    {      Toast.makeText(getApplicationContext(), "當前有可用網絡!", Toast.LENGTH_LONG).show();    }    else    {      Toast.makeText(getApplicationContext(), "當前沒有可用網絡!", Toast.LENGTH_LONG).show();    }  }  /**   * 檢查當前網絡是否可用   *    * @param context   * @return   */  public boolean isNetworkAvailable(Activity activity)  {    Context context = activity.getApplicationContext();    // 獲取手機所有連接管理對象(包括對wi-fi,net等連接的管理)    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);    if (connectivityManager == null)    {      return false;    }    else    {      // 獲取NetworkInfo對象      NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();      if (networkInfo != null && networkInfo.length > 0)      {        for (int i = 0; i < networkInfo.length; i++)        {          System.out.println(i + "===狀態===" + networkInfo[i].getState());          System.out.println(i + "===類型===" + networkInfo[i].getTypeName());          // 判斷當前網絡狀態是否為連接狀態          if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)          {            return true;          }        }      }    }    return false;  }}

 控制臺打印出的結果:

Android 關于判斷應用是否有網絡

在Android編程中不少有許多應用需要判斷是否有網絡的問題,現在我就來說說關于網絡的問題吧,源碼如下:

.java

 /**   * 檢查當前網絡是否可用   *    * @param context   * @return   */  public boolean isNetworkAvailable(Activity activity)  {    Context context = activity.getApplicationContext();    // 獲取手機所有連接管理對象(包括對wi-fi,net等連接的管理)    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);    if (connectivityManager == null)    {      return false;    }    else    {      // 獲取NetworkInfo對象      NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();      if (networkInfo != null && networkInfo.length > 0)      {        for (int i = 0; i < networkInfo.length; i++)        {          System.out.println(i + "===狀態===" + networkInfo[i].getState());          System.out.println(i + "===類型===" + networkInfo[i].getTypeName());          // 判斷當前網絡狀態是否為連接狀態          if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)          {            return true;          }        }      }    }    return false;  }

在oncreate()方法中判斷這個方法,具體代碼如下:

.java

@Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main);    if(isNetworkAvailable(Maintivity.this){ Toast.makeText(this, "當前有可用網絡!", Toast.LENGTH_LONG).show(); }else{ Toast.makeText(this,"當前沒有網絡!",Toast.LENGTH_LONG).show();} }

 另外,還需要添加權限

<!-- 允許應用可以聯網 -->  <uses-permission android:name="android.permission.INTERNET" />   <!--允許應用檢查網絡狀況 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 略阳县| 天台县| 三门县| 专栏| 乐山市| 久治县| 大足县| 汶川县| 塔河县| 梧州市| 广丰县| 观塘区| 汤阴县| 丹寨县| 东至县| 永定县| 宣化县| 沾化县| 巴青县| 察雅县| 镶黄旗| 巴东县| 新野县| 连平县| 泰顺县| 垣曲县| 浦县| 山东省| 京山县| 元阳县| 大厂| 桦川县| 卫辉市| 英吉沙县| 文成县| 黄冈市| 蒙城县| 莱州市| 横山县| 巴青县| 永泰县|