安卓不让用户自行退出应用

最近公司有个需求 在大厅的大屏幕上装个应用。需求是退出的时候需要验证密码。遇到的问题1.没有办法完全隐藏底部虚拟按键 2.home键和menu键无法重写
2018-10-11 11:06 1 条评论 分享
已邀请:
1

WangYoyHu - Android开发攻城狮

赞同来自: ask

返回键我会处理 home键不太懂 有一个控制键盘退出键的方法 home应该也有 我示例一下退出键处理把
super.onBackPressed ();和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 ();
        /**
         * 同时创建好也别忘了显示
         */
    }

}

要回复问题请先登录注册

退出全屏模式 全屏模式 回复