Android里实现退出主程序的提示代码
Android里实现退出主程序的提示代码
发布时间:2016-12-28 来源:查字典编辑
摘要:当用户选择"取消"的时候,只要单纯的retuan,即可返回主程序.我们可以定义一个showTips()的专用方法在mainActivity里...

当用户选择"取消"的时候,只要单纯的retuan,即可返回主程序.

我们可以定义一个showTips()的专用方法在main Activity里面,那么,每次我们写的时候,就调用这个函数的就可以了。

复制代码 代码如下:

private void showTips(){

AlertDialog alertDialog = new AlertDialog.Builder(Activity.this)

.setTitle("退出程序")

.setMessage("是否退出程序")

.setPositiveButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which)

Activity.this.finish();

}

})

.setNegativeButton("取消",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which)

return;

}}).create(); //创建对话框

alertDialog.show(); // 显示对话框

}

那么,在哪里调用这个提示的方法呢?

最初我的想法是打算在Android 的 主Activity 里面的onDestory() 函数里面定义的,后来试了一下,发觉其实这个函数是在当初Activity退出的时候,才会被调用的,如果在这里才调用,就太迟了。

所以,应该找到的是返回按键的响应时间,也就是函数Activity. onKeyDown(int keyCode, KeyEvent event) 函数里面响应事件的发生.

复制代码 代码如下:

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if(keyCode==KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0){

this.showTips();

return false;

}

return false;

}

至此,通过复写onKeyDown函数,当用户单击返回的按钮的时候,就会弹出提示的对话框,可以有效地防止用户由于失误引起的不必要的退出。

实现android 再按一次退出程序代码

复制代码 代码如下:

private long exitTime = 0;

/**

* 捕捉返回事件按钮

*

* 因为此 Activity 继承 TabActivity 用 onKeyDown 无响应,所以改用 dispatchKeyEvent

* 一般的 Activity 用 onKeyDown 就可以了

*/

@Override

public boolean dispatchKeyEvent(KeyEvent event) {

if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {

if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {

this.exitApp();

}

return true;

}

return super.dispatchKeyEvent(event);

}

/**

* 退出程序

*/

private void exitApp() {

// 判断2次点击事件时间

if ((System.currentTimeMillis() - exitTime) > 2000) {

Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show();

exitTime = System.currentTimeMillis();

} else {

finish();

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类