android物理返回键控制


android物理返回键控制


转载请指明出处 博主版权所有

有些攻城狮做任务需要控制物理返回键 home键 本人观点谷歌屏蔽了home键 网上好多示例代码都没用 在这里示范一下物理返回键的控制吧
关键是super.onBackPressed ();和finish 这两个是控制退出软件的
finish是可以直接调用的 是谷歌给的一个方法

@Override
public void onBackPressed() {
    //如果把下面一行删了就不可以通过返回键退出软件了
    /**
     * 这一行是核心 是用来控制back键是否可以退出软件的
     */
    //super.onBackPressed ();
    //System.currentTimeMillis 系统时间
    if (System.currentTimeMillis ()-firstPressedTime>2000){
        Toast.makeText ( this,"再按一次退出",Toast.LENGTH_LONG ).show ();
        firstPressedTime=System.currentTimeMillis ();
        //注意firstPressedTime这个long参数需要在类中声明
    }else {
        //finish和onBackPressed一样可以退出软件
        /**
         * 可以写下面任意一行
         */
        //finish ();
        //super.onBackPressed ();
        AlertDialog alertDialog=new AlertDialog.Builder(this)
                .setIcon ( R.mipmap.ic_launcher )
                .setTitle ( "对话框" )
                .setMessage ( "是否要退出本软件" )
                .setNegativeButton ( "取消" , new DialogInterface.OnClickListener () {
                    @Override
                    public void onClick(DialogInterface dialog , int which) {
                        dialog.dismiss ();
                    }
                } )
                .setPositiveButton ( "确定" , new DialogInterface.OnClickListener () {
                    @Override
                    public void onClick(DialogInterface dialog , int which) {
                        finish ();
                        /**
                         * super.onBackPressed ();不可以直接访问
                         */
                    }
                } ).create ();
        //最后别忘了写create创建
        alertDialog.show ();
        /**
         * 同时创建好也别忘了显示
         */
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值