版权声明:本文出自李紫洋的博客 转载请指明出处https://blog.csdn.net/qq_41912447 https://blog.csdn.net/qq_41912447/article/details/84207944
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 ();
/**
* 同时创建好也别忘了显示
*/
}
}