首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MyApplication.getInstance().exit() 与onDestroy 、finish(),onKeyDown()的关系

activity启动的时候我们把 这个activity加入到 application中 MyApplication.getInstance().addActivity(this); 当我们退出的时候  比如onkeydown...的时候用 MyApplication.getInstance().exit()    这个代码也只会在程序的主activity中执行 首先我们是onKeyDown结束一个activity  这个时候如果直接调用... 也就是通常看见的连接点击退出程序的时候直接调用MyApplication.getInstance().exit() 就会出错了 当前的你调用的这个类中的ondestroy将不会被执行的 下面是onkeydown...finish的执行顺序在他们之前 而我的程序是这样写的,在MainActivity中: public boolean onKeyDown(int keyCode, KeyEvent event) {...// TODO Auto-generated method stub Log.i("TAG", "我是onkeydown"); if(keyCode == KeyEvent.KEYCODE_BACK

87020

Android Activity返回键控制的两种方式

@Override public void onBackPressed() {  // 完全由自己控制返回键逻辑,系统不再控制,但是有个前提是:  // 不要在Activity的onKeyDown或者OnKeyUp...中拦截掉返回键  // 拦截:就是在OnKeyDown或者OnKeyUp中自己处理了返回键  //(这里处理之后return true.或者return false都会导致onBackPressed不会执行...)   // 不拦截:在OnKeyDown和OnKeyUp中返回super对应的方法  //(如果两个方法都被覆写就分别都要返回super.onKeyDown,super.onKeyUp) } 2、覆写...Activity的onKeyDown或者OnkeyUp,拦截返回键 @Override public boolean onKeyUp(int keyCode, KeyEvent event) {...keyCode, KeyEvent event) { if (keyCode == KeyCode.KEYCODE_BACK) return super.onKeyDown

2.6K70

Android 双击退出程序但活动不结束功能!

本片博客将详细介绍: Android 活动中  onKeyDown()   onKeyUp()   onBackPressed()  三个方法的关系及使用 最后给出实现双击退回桌面的源码实例 ----...所以,见名知意: onKeyDown 就是按下按键的意思, onKeyUp 就是松开按键的意思, onBackPressed 就是返回键被点击的意思。...---- 我们先看下源码 首先瞅瞅 onKeyDown() 的源码:(太长了咱看重点) 可以看到,如果是点击了 Home 键( 也就是 KEYCODE_BACK )的话,将会调用 onBackPressed...方法中,又调用了 finishAfterTransition() 方法 很明显该方法的作用就是结束丹铅活动,所以流程就很清晰了,再看看它的调用 你也可以那自己的音量键做做测试,一直按着一直调用 onKeyDown...() ---- 总结一下 当我们按下 Home 键(其他键,像音量键啥的也一样)的时候调用 onKeyDown() , 然后该方法会判断是那个键被按下, 如果是 Home 键的话,就调用 onBackPressed

60020
领券