Android开发点击返回键退出(出现dialog)
2016-01-25 15:53
513 查看
重写activity的如下方法,使其在点击返回按钮使弹出是否退出:
(注:此方法只针对于只有一个activity的APP,如果存在多个activity可以使用startactivityforresult的处理事件进行,每打开一个activity均使用startactivityforresult,在利用requestcode值执行关闭。如:1-2,code=1;2-3,code=2;点击返回让3finish,2的onActivityResult中当请求码为2时finish,依次类推,就可以实现关闭)
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
//具体的操作代码
new AlertDialog.Builder(this)
.setTitle("确定退出程序么")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();//
}
}).show();
return true;
}
return super.dispatchKeyEvent(event);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
switch (requestCode) {
case 1:
finish();
break;
default:
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
(注:此方法只针对于只有一个activity的APP,如果存在多个activity可以使用startactivityforresult的处理事件进行,每打开一个activity均使用startactivityforresult,在利用requestcode值执行关闭。如:1-2,code=1;2-3,code=2;点击返回让3finish,2的onActivityResult中当请求码为2时finish,依次类推,就可以实现关闭)
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN
&& event.getRepeatCount() == 0) {
//具体的操作代码
new AlertDialog.Builder(this)
.setTitle("确定退出程序么")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();//
}
}).show();
return true;
}
return super.dispatchKeyEvent(event);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
switch (requestCode) {
case 1:
finish();
break;
default:
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
相关文章推荐
- 安卓开发者必备的42个链接
- android屏幕亮度调节
- android之字体阴影效果
- android 比较靠谱的图片压缩
- Android锁屏状态下弹出activity
- Android中用layer-list编写阴影效果
- android 加密导出apk
- Android应用开发allowBackup敏感信息泄露的一点反思
- Android layout属性大全
- ubuntu安装android开发环境
- Android 四大组件 (三) ContentProvider 使用简介
- Android使用Intent启动Service的Intent必须是显式的
- Glide-----一个新的android图片处理开源项目
- android studio插件
- Android通过名字拿Res下图片
- Android平板上开发应用的一点心得——精确适配不同的dpi和屏幕尺寸
- Android 多线程-----AsyncTask详解
- 启动Android模拟器报错需安装Intel HAXM
- [置顶] Android热修复方案研究(含AOP知识)
- Android viewpager结合fragment的相关优化