双击back返回键退出app功能的实现方式

5年以前  |  阅读数:403 次  |  编程语言:JAVA 

有两种实现思路,看个人喜好吧:

方式1:

public class MainActivity extends Activity {

    private Toast toast;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toast = Toast.makeText(getApplicationContext(), "确定退出?", 0);
    }

    public void onBackPressed() {
        quitToast();
    }

    private void quitToast() {
        if(null == toast.getView().getParent()) {
            toast.show();
        }else{
            System.exit(0);
        }
    }
}

方式2:

public class MainActivity extends Activity {

    private Toast toast;
    rotected void onCreate(Bundle savedInstanceState) {
        ...
                toast = Toast.makeText(this, "再按一次退出应用", Toast.LENGTH_SHORT);
            toast.setGravity(Gravity.BOTTOM, 0, ConversionUtil.dip2px(this, 150));
    }

    @Override 
    public void onBackPressed() { 
        if (doubleBackToExitPressedOnce) { 
            if(toast!=null){
                toast.cancel();
            }
            super.onBackPressed(); 
            return; 
        } 

        this.doubleBackToExitPressedOnce = true;
        toast.show();

        new Handler().postDelayed(new Runnable() {

            @Override 
            public void run() { 
                doubleBackToExitPressedOnce=false;                        
            } 
        }, 2000); 
    } 
}
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
将二进制数据转为16进制以便显示
获取IMSI
获取IMEI
Java生成UUID
PHP自定义函数获取搜索引擎来源关键字的方法
让你成为最历害的git提交人
在Zeus Web Server中安装PHP语言支持
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php+ajax+json 详解及实例代码
Yii2汉字转拼音类的实例代码
php封装的page分页类完整实例
php数组合并array_merge()函数使用注意事项
PHP设计模式之工厂模式与单例模式
PHP实现简单爬虫的方法
php实现数组中索引关联数据转换成json对象的方法
wget使用技巧