当前位置: 代码迷 >> Android >> 按后退键以后调用onDestory方法吗
  详细解决方案

按后退键以后调用onDestory方法吗

热度:16   发布时间:2016-04-28 06:45:49.0
按后退键之后调用onDestory方法吗?
我有一个Activity,里面开了一个从socket处获取整数的线程,然后我在onDestory里面把这个线程停掉了;我还有一个Activity,同样也有一个从socket处获取消息的线程,是字符串,onDestory方法中我也写了停掉线程的操作;

但是现在如果我先打开第一个activity,后退,打开第二个activity,后退,打开第一个Activity,再后退,然后再打开第二个Activity时,就会出现第一个Activity收到了第二个Activity的消息的情况。我觉得这是不是因为我没有把线程停下来? 真心求教~
------解决方案--------------------
按下返回键不一定会调用onDestory。因为Android开源,各个手机厂商定制Rom的时候,会对其的一些机制做一些修改。
------解决方案--------------------
后退的事件本身都可以捕获到的,你还有啥不能做呢,对吧

/**
     * 监听退出
     */
    public boolean dispatchKeyEvent(KeyEvent event) {
  if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
  if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
  //退出处理的代码
       }
      return true;
  }
  return super.dispatchKeyEvent(event);
}