抓狼的羊 2014-09-19 02:07 采纳率: 0%
浏览 4563

android开发调用系统返回键出问题了,求救。。。

首先从主界面跳转登陆界面(只要登陆状态为 false 就跳转登陆)
Intent intent = new Intent(); //跳转登陆界面
intent.setClass(MyWorkActivity.this, LoginActivity.class);
startActivityForResult(intent, 2);

登陆成功是要返回主界面的,同时是要求登陆返回一定数据回来的
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data == null)
{
System.exit(0);
}
target = data.getExtras().getString("result");//得到新Activity 关闭后返回的数据
}

在登录界面如果登陆成功
Intent intent = new Intent();//数据是使用Intent返回
intent.putExtra("result", "LoginActivity");//把返回数据存入Intent
LoginActivity.this.setResult(RESULT_OK, intent);//设置返回数据
LoginActivity.this.finish();//关闭Activity

但是在登陆如果使用系统的返回键就一直不成功
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//二次返回退出
if (keyCode == KeyEvent.KEYCODE_BACK) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
exitTime = System.currentTimeMillis();
Toast.makeText(this, "再按一次退出", Toast.LENGTH_LONG).show();
} else {
System.exit(0);

}
return false;
}else
{
return super.onKeyDown(keyCode, event);
}
}

exitTime为long类型变量

但是一直不成功,双击系统返回键,都是一闪然后继续在登陆界面,有些android机子是在第二次双击的时候退出整个应用,,,求大神指导问题出在哪,怎么才能在第一次双击系统返回键就退出当前的应用程序?? 急,,急,,急,, 求教。。。

  • 写回答

2条回答 默认 最新

  • Ly_nine_five 2014-09-19 09:37
    关注

    在自定义application类中用一个arrylist list记录所有打开过的activity,当双击返回键这个事件触发后依次finish掉list数组里面所有的activity。

    评论

报告相同问题?

悬赏问题

  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启