Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android程序檢測網絡是否可用

Android程序檢測網絡是否可用

編輯:關於Android編程

首先在Activity裡,定義一個檢測網絡狀態的方法:   /** * 對網絡連接狀態進行判斷 *  * @return true, 可用; false, 不可用 */ private boolean isOpenNetwork() { ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (connManager.getActiveNetworkInfo() != null) { return connManager.getActiveNetworkInfo().isAvailable(); }     return false; }           然後   /** *網絡可用就調用下一步需要進行的方法, 網絡不可用則需設置 */ private void initIntener() {     // 判斷網絡是否可用 if (isOpenNetwork() == true) { // 網絡可用,則開始加載。 initPross();//這裡是我個人程序要進行網絡加載的方法,根據自己的程序而定,靈活運用。 } else { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("沒有可用的網絡").setMessage("是否對網絡進行設置?");     builder.setPositiveButton("是", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = null;     try { String sdkVersion = android.os.Build.VERSION.SDK; if (Integer.valueOf(sdkVersion) > 10) { intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); } else { intent = new Intent(); ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings"); intent.setComponent(comp); intent.setAction("android.intent.action.VIEW"); } MainActivity.this.startActivity(intent); } catch (Exception e) { // Log.w(TAG, // "open network settings failed, please check..."); e.printStackTrace(); } } }).setNegativeButton("否", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); //finish();//因為網絡不可用的狀態,也是不讓自己的程序結束運行, 這是根據個人需要設置。 Toast.makeText(MainActivity.this, "網絡異常,加載失敗!", Toast.LENGTH_SHORT).show(); initAll();//這裡是沒有網絡的時候,又不需要手動設置,則顯示出來的一個靜態頁面,根據個人需要。 } }).show();     } }   然後把initIntener();方法在Activity的初始化方法實現就行了,啟動Activity首先進行網絡檢測,再執行其他方法。   @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉標題欄 setContentView(R.layout.main);   //檢測網絡是否可用 initIntener();   }   最後需要在AndroidManifest.xml裡添加相關權限:   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />     <uses-permission android:name="android.permission.INTERNET" />     如有不對的地方,請大家多多指教。  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved