判斷手機的網絡連接狀態,能夠識別mobile和wifi連接。
以下程序,參考自 http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html
?
獲取網絡信息需要在AndroidManifest.xml文件中加入相應的權限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
?
1 /** 2 * 判斷網絡連接狀態 3 * 1. mobile網絡連接 4 * 2. wifi網絡連接 5 * 3. 沒有網絡連接 6 * 7 * 判斷的方法就是:利用ConnectivityManager來獲取NetworkInfo。 8 * 9 * 在程序的后面還給了幾個函數 10 * 以下程序,參考自 http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html 11 */ 12 13 package com.example.networkstate; 14 15 import android.app.Activity; 16 import android.content.BroadcastReceiver; 17 import android.content.Context; 18 import android.content.Intent; 19 import android.content.IntentFilter; 20 import android.net.ConnectivityManager; 21 import android.net.NetworkInfo; 22 import android.os.Bundle; 23 import android.widget.TextView; 24 25 public class MainActivity extends Activity { 26 27 private BroadcastReceiver connectionReceiver; 28 private TextView tvNetworkState; 29 30 @Override 31 protected void onCreate(Bundle savedInstanceState) { 32 super .onCreate(savedInstanceState); 33 setContentView(R.layout.activity_main); 34 35 tvNetworkState = (TextView) findViewById(R.id.tvNetworkState); 36 37 connectionReceiver = new BroadcastReceiver() { 38 39 @Override 40 public void onReceive(Context context, Intent intent) { 41 ConnectivityManager connectMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 42 NetworkInfo mobNetInfo = connectMgr 43 .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 44 NetworkInfo wifiNetInfo = connectMgr 45 .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 46 47 if (mobNetInfo.isConnected()) { 48 tvNetworkState.setText("手機網絡連接~" ); 49 } else if (wifiNetInfo.isConnected()) { 50 tvNetworkState.setText("wifi網絡連接~" ); 51 } else { 52 tvNetworkState.setText("囧,沒有網絡連接~" ); 53 } 54 55 // if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) 56 // { 57 // // unconnect network 58 // tvNetworkState.setText("當前沒有網絡連接!"); 59 // } else { 60 // // connect network 61 // tvNetworkState.setText("恭喜,有網絡連接~"); 62 // } 63 } 64 65 }; 66 67 IntentFilter intentFilter = new IntentFilter(); 68 intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); 69 registerReceiver(connectionReceiver, intentFilter); 70 } 71 72 @Override 73 protected void onDestroy() { 74 super .onDestroy(); 75 if (connectionReceiver != null ) { 76 unregisterReceiver(connectionReceiver); 77 } 78 } 79 80 public boolean isNetworkConneted(Context context) { 81 if (context != null ) { 82 ConnectivityManager connectivityManager = (ConnectivityManager) context 83 .getSystemService(Context.CONNECTIVITY_SERVICE); 84 NetworkInfo networkInfo = connectivityManager 85 .getActiveNetworkInfo(); 86 if (networkInfo != null ) { 87 return networkInfo.isAvailable(); 88 } 89 } 90 return false ; 91 } 92 93 public boolean isWifiConnected(Context context) { 94 if (context != null ) { 95 ConnectivityManager connectivityManager = (ConnectivityManager) context 96 .getSystemService(Context.CONNECTIVITY_SERVICE); 97 NetworkInfo networkInfo = connectivityManager 98 .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 99 if (networkInfo != null ) { 100 return networkInfo.isAvailable(); 101 } 102 } 103 return false ; 104 } 105 106 public boolean isMobileConnected(Context context) { 107 if (context != null ) { 108 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 109 .getSystemService(Context.CONNECTIVITY_SERVICE); 110 NetworkInfo mMobileNetworkInfo = mConnectivityManager 111 .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 112 if (mMobileNetworkInfo != null ) { 113 return mMobileNetworkInfo.isAvailable(); 114 } 115 } 116 return false ; 117 } 118 119 public static int getConnectedType(Context context) { 120 if (context != null ) { 121 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 122 .getSystemService(Context.CONNECTIVITY_SERVICE); 123 NetworkInfo mNetworkInfo = mConnectivityManager 124 .getActiveNetworkInfo(); 125 if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { 126 return mNetworkInfo.getType(); 127 } 128 } 129 return -1 ; 130 } 131 }
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
