用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - 其他代码库

再按下一次Back键退出应用程序

2017-06-28 作者: 云代码会员举报

[其他]代码库

package com.example.myactivitytest;
 
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;
 
public class BaseActivity extends Activity {
 
    Timer timer;
    boolean bFlag = false;// bFlag = false 没有按下back 键
     
    static ArrayList<BaseActivity> mActivities = new ArrayList<BaseActivity>();
 
    public BaseActivity() {
 
    }
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        timer = new Timer();
        mActivities.add(this);
         
    }
 
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            if (bFlag == true) { // 第二按下back键
                for (int i = 0; i < mActivities.size(); i++) {
                   BaseActivity baseActivity =  mActivities.get(i);
                   baseActivity.finish();
                }
                mActivities.clear();
                return true;
            }
 
            bFlag = true; // bFlag = false 没有按下back 键
            timer.schedule(new TimerTask() {
 
                @Override
                public void run() {
                    bFlag = false;
                }
            }, 2000);
            Toast.makeText(BaseActivity.this, "再按下一次Back键退出应用程序",
                    Toast.LENGTH_LONG).show();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

[源代码打包下载]




网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...