[android] 网络断开的监听

标签:

android

网络监听

杂谈

分类: Android

[转自]  http://blog.sina.com.cn/s/blog_5d5996d001012o07.html

 

其实手机在网络方面的的监听也比较重要,有时候我们必须实时监控这个程序的实时网络状态,android在网络断开与连接的时候都会发出广播,我们通过接收系统的广播就可以实现网络的监听,下面是代码---

 

onCreate的时候实例化 

//监听器
    private NetState receiver=new NetState();
    private IntentFilter filter=new IntentFilter();

  filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
  this.registerReceiver(receiver, filter);
  receiver.onReceive(this, null);

 

 

一个广播接收类-

private class NetState extends BroadcastReceiver{

  @Override
  public void onReceive(Context arg0, Intent arg1) {
   ConnectivityManager manager = (ConnectivityManager)con.getSystemService(Context.CONNECTIVITY_SERVICE);
     NetworkInfo gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
     NetworkInfo wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
     if(!gprs.isConnected() && !wifi.isConnected())
     {
     
       AlertDialog.Builder ab=new AlertDialog.Builder(con);
   
      //设定标题
        ab.setMessage("网络连接断开,请检查网络");
        //设定退出按钮
  
     //网络设置按钮
        ab.setPositiveButton("确定", new DialogInterface.OnClickListener() {
      
      @Override
      public void onClick(DialogInterface dialog, int which) {
       // TODO Auto-generated method stub
       dialog.dismiss();
       ShakeActivity.this.finish();
      }
     }).show();           
          
     }
     

 

  
  }
  
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中,监听RabbitMQ的连接状态并进行重新连接的方法有很多种,这里介绍其中一种: 1. 创建一个RabbitMQ连接监听器类,继承自ConnectionListener接口,实现其中的onClosed和onDisconnected方法,用于监听连接关闭和连接断开的事件。 2. 在你的RabbitMQ连接类中,添加对应的ConnectionListener,用于监听连接状态的变化。 3. 在onDisconnected方法中,判断连接是否是因为网络原因而断开,如果是,则进行重连操作,否则不做处理。 4. 在onClosed方法中,进行资源释放等清理操作。 下面是一个示例代码: ```java public class RabbitMQConnectionListener implements ConnectionListener { private final static String TAG = "RabbitMQConnectionListener"; private ConnectionFactory mConnectionFactory; private Connection mConnection; private Channel mChannel; public RabbitMQConnectionListener(ConnectionFactory connectionFactory) { mConnectionFactory = connectionFactory; } @Override public void onConnected(Connection connection) { Log.d(TAG, "RabbitMQ connected"); } @Override public void onDisconnected(Connection connection, Throwable throwable) { if (throwable != null && throwable instanceof IOException) { // 网络原因导致连接断开,进行重连操作 connect(); } else { Log.d(TAG, "RabbitMQ disconnected"); } } @Override public void onClosed(Connection connection) { Log.d(TAG, "RabbitMQ closed"); release(); } private void connect() { try { mConnection = mConnectionFactory.newConnection(); mChannel = mConnection.createChannel(); } catch (Exception e) { Log.e(TAG, "RabbitMQ connect error: " + e.getMessage()); } } private void release() { try { if (mChannel != null) { mChannel.close(); } if (mConnection != null) { mConnection.close(); } } catch (Exception e) { Log.e(TAG, "RabbitMQ release error: " + e.getMessage()); } finally { mChannel = null; mConnection = null; } } } ``` 在你的RabbitMQ连接类中,添加对应的ConnectionListener: ```java ConnectionFactory connectionFactory = new ConnectionFactory(); // 设置RabbitMQ服务器地址、用户名和密码等参数 connectionFactory.setHost("localhost"); connectionFactory.setUsername("guest"); connectionFactory.setPassword("guest"); RabbitMQConnectionListener connectionListener = new RabbitMQConnectionListener(connectionFactory); // 添加连接监听器 connectionFactory.setConnectionListener(connectionListener); // 进行连接 connectionListener.connect(); ``` 这样就可以实现在Android监听RabbitMQ连接状态,并进行重新连接的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值