Android 判断网络状态这一应用技巧在实际应中是比较重要的。那么,在Android操作系统中,如何能够正确的判断我们所连接的网络是否断开恩?今天我们就针对这一应用技巧进行一个详细的分析。
Java代码
1. //注册一个广播接收者,接收网络连接状态改变广播
2. public class ConnectionChangeReceiver extends
3. @Override
4. public void
5. ConnectivityManager connectivityManager = (ConnectivityManager) context
6. .getSystemService(Context.CONNECTIVITY_SERVICE);
7. NetworkInfo activeNetInfo = connectivityManager
8. .getActiveNetworkInfo();
9. NetworkInfo mobNetInfo = connectivityManager
10. .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
11. if (activeNetInfo != null) {
12. Toast.makeText(context,
13. "Active Network Type : "
14. Toast.LENGTH_SHORT).show();
15. }
16. if (mobNetInfo != null) {
17. Toast.makeText(context,
18. "Mobile Network Type : "
19. Toast.LENGTH_SHORT).show();
20. }
21. }
22. }
<!-- Needed to check when the network connection changes -->
Java代码
1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
2. <receiver
3. "com.blackboard.androidtest.receiver.ConnectionChangeReceiver"
4. "NetworkConnection">
5. <intent-filter>
6. "android.net.conn.CONNECTIVITY_CHANGE"/>
7. </intent-filter>
8. </receiver>
另一种方法:
Java代码
1. public boolean
2. Context context = getApplicationContext();
3. ConnectivityManager connectivity = (ConnectivityManager) context
4. .getSystemService(Context.CONNECTIVITY_SERVICE);
5. if (connectivity == null) {
6. this.getString(R.string.alert),
7. "getSystemService rend null");
8. else {//获取所有网络连接信息
9. NetworkInfo[] info = connectivity.getAllNetworkInfo();
10. if (info != null) {//逐一查找状态为已连接的网络
11. for (int i = 0; i < info.length; i++) {
12. if
13. return true;
14. }
15. }
16. }
17. }
18. return false;
19. }