Android开发之”再按一次退出程序“的实现

现在移动客户端退出程序对话框退出越来越不流行了,都开始使用连续按两次来退出,即著名的“再按一次退出程序”模式。现在就看看怎么实现的吧。


@SuppressLint("HandlerLeak")
    Handler handler = new Handler(){
        public void handleMessage(Message msg){
             switch (msg.what) {
             
             }
        }
    };
    boolean willExit = false;
    @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        
        Runnable resetFlag = new Runnable() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                willExit = false;
            }
        };
        
        if(!willExit){
            Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
            willExit = true;
            handler.postDelayed(resetFlag, 2*1000);
        }else{
            handler.removeCallbacks(resetFlag);
            finish();
        }
    }
原文地址:https://www.cnblogs.com/JczmDeveloper/p/3848121.html