监听网络连接状态

作者:追风剑情 发布于:2016-7-28 11:32 分类:Android

通过监听android.net.conn.CONNECTIVITY_CHANGE

示例:

  1. package com.test.androidtest;
  2.  
  3. import android.app.Activity;
  4. import android.content.BroadcastReceiver;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.IntentFilter;
  8. import android.net.ConnectivityManager;
  9. import android.net.NetworkInfo;
  10. import android.os.Bundle;
  11. import android.widget.Toast;
  12.  
  13. public class ShapGradientActivity extends Activity {
  14.  
  15. IntentFilter intentFilter;
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.fragment_shap_gradient);
  20. }
  21. @Override
  22. public void onResume(){
  23. super.onResume();
  24. intentFilter = new IntentFilter();
  25. intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
  26. //注册意图侦听
  27. //也可以在AndroidManifest.xml中注册侦听
  28. //android.net.conn.CONNECTIVITY_CHANGE
  29. registerReceiver(intentReceiver, intentFilter);
  30. }
  31. @Override
  32. public void onPause(){
  33. super.onPause();
  34. //注销意图侦听
  35. unregisterReceiver(intentReceiver);
  36. }
  37. //处理侦听到的意图广播
  38. private BroadcastReceiver intentReceiver = new BroadcastReceiver() {
  39. @Override
  40. public void onReceive(Context context, Intent intent) {
  41. ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
  42. NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
  43. if(null == activeNetwork)
  44. {
  45. Toast.makeText(getBaseContext(), "无网络连接", Toast.LENGTH_LONG).show();
  46. return;
  47. }
  48. boolean isConnected = activeNetwork.isConnectedOrConnecting();
  49. boolean isMobile = activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE;
  50. Toast.makeText(getBaseContext(), "网络已连接:"+isConnected+", 移动网络: "+isMobile, Toast.LENGTH_LONG).show();
  51. }
  52. };
  53. }

运行测试

11111.png

标签: Android

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号