Android应用如何退到首页/登录页
2016-08-17 19:34
344 查看
打开某个互联网app , 界面层级是闪屏页(1秒后自动关闭)---登录页(登录成功后关闭)---首页Activity---Activity 1---Activity2--Activity3---Activity4, 这时Activity4是栈顶即正在显示的界面。 考虑如下问题:
问题1: 在其它手机上登录相同账号, 该app被踢下线要执行1、如何关闭所有历史Activity并打开登录页?
问题2: 假设Activity1/2/3被GC回收了, 点击back键如何恢复Activity3的数据(例如该界面通过id值从后台接口拿到详情数据, 如何传递id值?)?
问题3: 假设Activity3没被GC回收, 按back键后Activity3执行哪些生命周期?
问题1, 其实就是要关闭当前进程中的所有Activity, 即让Activity出栈。
解决方法一: 将首页的launchmode设置为singleTask, 在Activity4时启动MainActivity并在MainActivity的onNewIntent函数里判断flag后关闭自己并打开登录页。
解决方法二: 在每个Activity的onCreate、onDestroy函数里添加、删除activity引用到单例对象的列表里, 当需要关闭站内Activity时, 遍历list并调用Activity的finish方法。 PS:我觉得这种方式有点low, 网上有人描述关闭app进程时可以这样关闭activity。
问题2: 可以看我的另一篇博客http://blog.csdn.net/brycegao321/article/details/52057466 , 其实就是在onSaveInsanceState函数里保存参数到bundle里, 在onCreate方法里从bundle里拿出缓存的值, 例如id等。
问题3: onRestart---》onStart---》onResume, 在onResume函数里可以做刷新界面逻辑。
我的微信公众号, 欢迎关注, 让我们一起成长
问题1: 在其它手机上登录相同账号, 该app被踢下线要执行1、如何关闭所有历史Activity并打开登录页?
问题2: 假设Activity1/2/3被GC回收了, 点击back键如何恢复Activity3的数据(例如该界面通过id值从后台接口拿到详情数据, 如何传递id值?)?
问题3: 假设Activity3没被GC回收, 按back键后Activity3执行哪些生命周期?
问题1, 其实就是要关闭当前进程中的所有Activity, 即让Activity出栈。
解决方法一: 将首页的launchmode设置为singleTask, 在Activity4时启动MainActivity并在MainActivity的onNewIntent函数里判断flag后关闭自己并打开登录页。
Intent intent = new Intent(MainActivity.this, this);
intent.putExtra("closeType", 1);startActivity(intent);
protected void onNewIntent(Intent intent) { super.onNewIntent(intent); int statusType = intent.getIntExtra("closeType", 0); if (statusType == 1){ //打开登录页 Intent intent1 = new Intent(this, LoginActivity.class); startActivity(intent1); finish(); } }
解决方法二: 在每个Activity的onCreate、onDestroy函数里添加、删除activity引用到单例对象的列表里, 当需要关闭站内Activity时, 遍历list并调用Activity的finish方法。 PS:我觉得这种方式有点low, 网上有人描述关闭app进程时可以这样关闭activity。
问题2: 可以看我的另一篇博客http://blog.csdn.net/brycegao321/article/details/52057466 , 其实就是在onSaveInsanceState函数里保存参数到bundle里, 在onCreate方法里从bundle里拿出缓存的值, 例如id等。
问题3: onRestart---》onStart---》onResume, 在onResume函数里可以做刷新界面逻辑。
我的微信公众号, 欢迎关注, 让我们一起成长
相关文章推荐
- 在android中如何实现在应用首页按两次返回键(back)退出应用
- Android应用 欢迎页 登录页 闪屏页 首页 按home键后 点图标重复启动问题
- 1.6.2 如何下载Android Market的应用软件
- 简单介绍如何应用DDMS协助开发Android Apps
- Android 如何在自己的应用中模拟Home键
- [007] 如何在Android应用中使用百度地图api
- android应用如何开机启动
- 简单介绍如何应用DDMS协助开发Android Apps
- Android---如果应用中每个页面都有“首页”“退出” 处理方法
- Android 在一个应用中如何启动另外一个已安装的应用
- 如何在Eclipse开发环境进行android应用调试
- [016] 如何使用真机调试Android应用
- Android高手进阶教程(十二)之----Android 在一个应用中如何启动另外一个已安装的应用!!!
- 如何正常关闭android应用
- Android开发者如何从数以万计应用中突围
- 如何使用Android SDK开发Android应用
- 如何使用Android SDK开发Android应用?
- 如何使用Android SDK开发Android应用
- 如何设置隐藏Android应用的标题栏和状态栏
- android应用登录模块访问mysql数据库小记