转:Android判断网络状态

在使用Android连接网络的时候,并不是每次都能连接到网络,在这个时候,我们最好是在程序启动的时候对网络的状态进行一下判断,如果没有网络则进行即时提醒用户进行设置。

要判断网络状态,首先需要有相应的权限,下面为权限代码:

即允许访问网络状态:
  1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
复制代码
下面为判断代码:
  1. private boolean NetWorkStatus() {
  2. boolean netSataus = false;
  3. ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  4. cwjManager.getActiveNetworkInfo();
  5. if (cwjManager.getActiveNetworkInfo() != null) {
  6. netSataus = cwjManager.getActiveNetworkInfo().isAvailable();
  7. }
  8. if (netSataus) {
  9. Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络")
  10. .setMessage("是否对网络进行设置?");
  11. b.setPositiveButton("是", new DialogInterface.OnClickListener() {
  12. public void onClick(DialogInterface dialog, int whichButton) {
  13. Intent mIntent = new Intent("/");
  14. ComponentName comp = new ComponentName(
  15. "com.android.settings",
  16. "com.android.settings.WirelessSettings");
  17. mIntent.setComponent(comp);
  18. mIntent.setAction("android.intent.action.VIEW");
  19. startActivityForResult(mIntent,0); // 如果在设置完成后需要再次进行操作,可以重写操作代码,在这里不再重写
  20. }
  21. }).setNeutralButton("否", new DialogInterface.OnClickListener() {
  22. public void onClick(DialogInterface dialog, int whichButton) {
  23. dialog.cancel();
  24. }
  25. }).show();
  26. }
  27. return netSataus;
  28. }
通过上面的代码即可完成对网络状态的判断!

posted @ 2011-11-17 13:12  囧里个囧  阅读(177)  评论(0)    收藏  举报