如何打开多个界面之后按返回键直接退出应用
来源:互联网 发布:ubuntu vmware下载 编辑:程序博客网 时间:2024/06/03 21:40
如何打开多个界面之后按返回键直接退出应用
1、自定义广播接收者
每个新开的界面继承下面的父类主活动,并在活动中实现以下代码
public class Activity1 extends BaseActivity{ //这里还有重写oncreate()方法 /** * 捕获手机物理菜单键 */ private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){//&& event.getAction() == KeyEvent.ACTION_DOWN if((System.currentTimeMillis()-exitTime) > 2000){ Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { myExit(); } return true; } return super.onKeyDown(keyCode, event); } protected void myExit() { Intent intent = new Intent(); intent.setAction("ExitApp"); this.sendBroadcast(intent); super.finish(); } }
定义父类主活动
在这里注册一个广播接收者,一旦接收到自定义的广播就在onReceive()方法里finish()活动,这样所有继承这个父类的Activity都会finish()掉的。
public class BaseActivity extends Activity {protected BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { finish(); } }; @Override public void onResume() { super.onResume(); // 在当前的activity中注册广播 IntentFilter filter = new IntentFilter(); filter.addAction("ExitApp"); this.registerReceiver(this.broadcastReceiver, filter); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); this.unregisterReceiver(this.broadcastReceiver); }
}
完成上面两个步骤之后,每个继承了父类主活动的Activity每次按返回键都会直接退出APP
2、定义一个收集Activity的类,在里面定义一个静态方法返回一个集合,每次创建新的Activity都添加到集合中,在多次打开多个活动后按返回键重写返回键的方法,遍历集合,finish()掉
for(Activity activity: lists) { activity.finish(); }
3、递归退出
在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。
4、抛异常强制退出:
该方法通过抛异常,使程序Force Close。
验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。
//安全结束进程 android.os.Process.killProcess(android.os.Process.myPid());
0 0
- 如何打开多个界面之后按返回键直接退出应用
- 网页实现返回键直接退出,不回到登录界面
- Android App首次安装完成后在安装界面直接打开应用,再按home键返回桌面,从桌面图标重新进入app,返回不到之前的界面问题
- 修改密码后退回到登录界面,再按返回键退出应用,关闭所有的Activity
- android中如何实现连续点击返回键退出整个应用 android两次返回退出应用
- Android 软键盘弹出情况下监听返回键直接退出界面
- 打开多个Activity后返回到原始界面数据
- 在android中如何实现在应用首页按两次返回键(back)退出应用
- Android按两次返回键退出应用
- android 按两次返回键退出应用
- Android 按两次返回键退出应用
- 按下两次返回键退出应用
- Android 按两次返回键退出应用
- 连续按两次返回键 退出应用
- 连按两次返回键退出应用
- 两次按返回键 就直接退出程序
- 针对一些在android 应用界面使用Ctrl + C组合键,直接退出应用的解决方案
- android解锁界面,插上USB弹出打开USB存储设置界面,按HOME键/返回键直接回到launcher,而非滑动锁屏界面
- JavaScript 监听页面的ctrl+c 事件
- 基于.NET平台常用的框架整理
- 批量改名软件----Win7xfolder 的另一特色是可以批量导出文件的名字及其文件大小到 txt/CSV 文件,很方便
- 创建centos7
- 微信 JS-SDK (三)
- 如何打开多个界面之后按返回键直接退出应用
- sem_open No such file or directory
- JMeter3压力测试入门教程
- java 异常基础
- 爬虫
- magento 属性管理
- iOS之单元测试篇
- Compare Version Numbers
- poj3349(hash)