Android实现点击两次back退出APP
2015-06-05 10:34
531 查看
实现两秒钟之内点击两次back键退出,
若false则两秒这种之内点击back将标识参数置为true退出,
假如超过两秒不变化。
此时就要用到handler的postDelayed(Runnable,long)进行延迟处理操作。简单实现如下:
当创建一个新的Handler实例时, 它会绑定到当前线程和消息的队列中,开始分发数据
Handler有两个作用,
(1) : 定时执行Message和Runnalbe 对象
(2): 让一个动作,在不同的线程中执行。
它安排消息,用以下方法
post(Runnable)
postAtTime(Runnable,long)
postDelayed(Runnable,long)
sendEmptyMessage(int)
sendMessage(Message);
sendMessageAtTime(Message,long)
sendMessageDelayed(Message,long)
以上方法以 post开头的允许你处理Runnable对象
sendMessage()允许你处理Message对象(Message里可以包含数据,)
若false则两秒这种之内点击back将标识参数置为true退出,
假如超过两秒不变化。
此时就要用到handler的postDelayed(Runnable,long)进行延迟处理操作。简单实现如下:
public class MainActivity extends Activity { private boolean isExit=false; Handler handler=new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onBackPressed() { // TODO Auto-generated method stub if (isExit) {//可退出 finish();//退出APP }else{ Toast.makeText(MainActivity.this, "再按一次退出", 0).show(); //两秒钟之内为true isExit=true; handler.postDelayed(new Runnable(){ //两秒之后将isExit重新置为false @Override public void run() { // TODO Auto-generated method stub isExit=false; } }, 2000); } //super.onBackPressed(); } }
当创建一个新的Handler实例时, 它会绑定到当前线程和消息的队列中,开始分发数据
Handler有两个作用,
(1) : 定时执行Message和Runnalbe 对象
(2): 让一个动作,在不同的线程中执行。
它安排消息,用以下方法
post(Runnable)
postAtTime(Runnable,long)
postDelayed(Runnable,long)
sendEmptyMessage(int)
sendMessage(Message);
sendMessageAtTime(Message,long)
sendMessageDelayed(Message,long)
以上方法以 post开头的允许你处理Runnable对象
sendMessage()允许你处理Message对象(Message里可以包含数据,)
相关文章推荐
- Android SwipeRefreshLayout教程
- AndroidManifest.xml activity属性设置大全
- Android EditText inputType同时设置textPassword和phone
- Unity3d NGUI的drawcall,UISprite与UITexture
- 微信公众平台开发教程(二) 基本原理及消息接口
- 微信公众平台开发教程(一) 微信公众账号注册流程
- 微信开发公众号本地调试
- Android4.0中控制Toast时间
- cocos2d的-X- luaproject的LUA脚本加密
- Android 4.4前后版本读取图库图片和拍照完美解决方案
- Android 布局 fill_parent、wrap_content和match_parent的区别和作用
- iOS 绘图详解
- Android属性动画完全解析(上),初识属性动画的基本用法
- iOS 6导入PCH,开发必备
- iOS开发 判断扫码是否为有效网址
- Android开源项目收藏
- 自己做手机端网站的心得
- Android 怎么自定义枚举类型的值
- Android(java)学习笔记105:Map集合的遍历之键值对对象找键和值
- 微信系列研究之-手把手教你脱掉微信的外衣