欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android網(wǎng)絡(luò)判斷知識(shí)小結(jié)

 更新時(shí)間:2015年12月21日 11:00:15   投稿:mrr  
本文通過(guò)兩段實(shí)例代碼分別給大家介紹Android中判斷當(dāng)前網(wǎng)絡(luò)是否可用和Android 關(guān)于判斷應(yīng)用是否有網(wǎng)絡(luò)的相關(guān)知識(shí),對(duì)android網(wǎng)絡(luò)判斷相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧

Android中判斷當(dāng)前網(wǎng)絡(luò)是否可用

應(yīng)用場(chǎng)景:實(shí)現(xiàn)判斷當(dāng)前網(wǎng)絡(luò)是否可用

當(dāng)前有可用網(wǎng)絡(luò),如下圖:

當(dāng)前沒(méi)有可用網(wǎng)絡(luò),如下圖:

實(shí)現(xiàn)步驟:

1、獲取ConnectivityManager對(duì)象

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

2、獲取NetworkInfo對(duì)象

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

3、判斷當(dāng)前網(wǎng)絡(luò)狀態(tài)是否為連接狀態(tài)

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

4、在AndroidManifest.xml中添加訪問(wèn)當(dāng)前網(wǎng)絡(luò)狀態(tài)權(quán)限

<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(), "當(dāng)前有可用網(wǎng)絡(luò)!", Toast.LENGTH_LONG).show();
    }
    else
    {
      Toast.makeText(getApplicationContext(), "當(dāng)前沒(méi)有可用網(wǎng)絡(luò)!", Toast.LENGTH_LONG).show();
    }
  }
  /**
   * 檢查當(dāng)前網(wǎng)絡(luò)是否可用
   * 
   * @param context
   * @return
   */
  public boolean isNetworkAvailable(Activity activity)
  {
    Context context = activity.getApplicationContext();
    // 獲取手機(jī)所有連接管理對(duì)象(包括對(duì)wi-fi,net等連接的管理)
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivityManager == null)
    {
      return false;
    }
    else
    {
      // 獲取NetworkInfo對(duì)象
      NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
      if (networkInfo != null && networkInfo.length > 0)
      {
        for (int i = 0; i < networkInfo.length; i++)
        {
          System.out.println(i + "===狀態(tài)===" + networkInfo[i].getState());
          System.out.println(i + "===類型===" + networkInfo[i].getTypeName());
          // 判斷當(dāng)前網(wǎng)絡(luò)狀態(tài)是否為連接狀態(tài)
          if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
          {
            return true;
          }
        }
      }
    }
    return false;
  }
}

 控制臺(tái)打印出的結(jié)果:

Android 關(guān)于判斷應(yīng)用是否有網(wǎng)絡(luò)

在Android編程中不少有許多應(yīng)用需要判斷是否有網(wǎng)絡(luò)的問(wèn)題,現(xiàn)在我就來(lái)說(shuō)說(shuō)關(guān)于網(wǎng)絡(luò)的問(wèn)題吧,源碼如下:

.java

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

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

.java

@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);
    if(isNetworkAvailable(Maintivity.this){
 Toast.makeText(this, "當(dāng)前有可用網(wǎng)絡(luò)!", Toast.LENGTH_LONG).show();
 }else{
 Toast.makeText(this,"當(dāng)前沒(méi)有網(wǎng)絡(luò)!",Toast.LENGTH_LONG).show();}
 }

 另外,還需要添加權(quán)限

<!-- 允許應(yīng)用可以聯(lián)網(wǎng) -->
  <uses-permission android:name="android.permission.INTERNET" />
   <!--允許應(yīng)用檢查網(wǎng)絡(luò)狀況 -->
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

相關(guān)文章

最新評(píng)論