精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-01-17
clarkamx 写道 你将栈中的所有Activity都finish掉的话, 下次打开程序怎么可能是上次的界面.
iaiai 写道 clarkamx 写道 什么叫 再打开没登录还显示上次用户登录过以后的界面. 我很好奇你的登录是怎么做的.
iaiai 写道 有点明白你的意思了,不过如果我做oa的话虽然关掉了,但是如果还cache在那里再打开的话对于用户来说就不太好了,没有登录过的话不应该再看到登录过以后的东西。
不知道你们设计的时候一般怎么设计退出,如果应用包含登录的话,这种方式合理吗?再打开没登录还显示上次用户登录过以后的界面......我做的是oa信息不是公开的那种 什么叫登录怎么做的,你看不懂什么意思吗? 我在网上看到现在分两派,一派像windows操作系统一样,关闭就算真正关闭,还有一派就像iphone设计的一样,退出的时候实现是最小化当前的应用到内存里了,下次打开的时候还会直接打开上次关闭时的位置..... 我是不想要后者.....你看不明白吗? 你在点手机上的返回键或是home键,如果不做任何处理的话不是finish的,并且如果打开有多个Activity的时候你关闭的时候你怎么把所有的activity关闭?这个你做过吗?你finish的话只能关闭当前打开的activity但是前面还有好多个activity没有关闭,下次打开的时候还是会显示那些没关闭的activity,说白了一句话就是:打开多个Activity怎么退出所有的Activity。如果你做过android程序应该知道的.... |
|
返回顶楼 | |
发表时间:2012-01-17
最后修改:2012-01-17
哎, 原来是这样..我这么做的 import java.util.ArrayList; import android.app.Activity; /** * Activity管理类 * */ public final class ActivityManager { private static ActivityManager manager; private ArrayList<Activity> activities; private ActivityManager () { } public static ActivityManager getInstance() { if(manager == null) { manager = new ActivityManager(); } return manager; } public void add(Activity activity) { if(activities == null) { activities = new ArrayList<Activity>(); } activities.add(activity); } public void remove(Activity activity) { if(activities != null) { activities.remove(activity); } } public void exit() { if(activities != null) { for(int i = activities.size() - 1; i >= 0; i--) { activities.get(i).finish(); } } } } |
|
返回顶楼 | |
发表时间:2012-01-17
clarkamx 写道 哎, 原来是这样..我这么做的 import java.util.ArrayList; import android.app.Activity; /** * Activity管理类 * */ public final class ActivityManager { private static ActivityManager manager; private ArrayList<Activity> activities; private ActivityManager () { } public static ActivityManager getInstance() { if(manager == null) { manager = new ActivityManager(); } return manager; } public void add(Activity activity) { if(activities == null) { activities = new ArrayList<Activity>(); } activities.add(activity); } public void remove(Activity activity) { if(activities != null) { activities.remove(activity); } } public void exit() { if(activities != null) { for(int i = activities.size() - 1; i >= 0; i--) { activities.get(i).finish(); } } } } 我也做过像这种利用容器去管理activity,退出再统一finish的,话说不知这样做有何不妥 |
|
返回顶楼 | |
发表时间:2012-01-18
最后修改:2012-01-18
想要每个activity都finish,这样写基类不就行了?
public void onExitActivity(){ finish(); } |
|
返回顶楼 | |
发表时间:2012-01-29
都试了下在2.3.3中还是不能完全退出
|
|
返回顶楼 | |
发表时间:2012-01-30
楼主你确定你的程序没问题?close中发广播,在接受到广播后又close,虽然后面有unregister,但是你不觉得这样很奇怪吗?
用这个: Process.killProcess(Process.myPid()); 秒杀一切! |
|
返回顶楼 | |
发表时间:2012-01-30
fantao005x 写道 楼主你确定你的程序没问题?close中发广播,在接受到广播后又close,虽然后面有unregister,但是你不觉得这样很奇怪吗?
用这个: Process.killProcess(Process.myPid()); 秒杀一切! 你如果懂广播的话你就会看懂我的代码,我的代码运行是会报一个小错,就因为是个小错所以我没有改,看懂了自然就会改了...... |
|
返回顶楼 | |
发表时间:2012-01-30
fantao005x 写道 楼主你确定你的程序没问题?close中发广播,在接受到广播后又close,虽然后面有unregister,但是你不觉得这样很奇怪吗?
用这个: Process.killProcess(Process.myPid()); 秒杀一切! 对了android.os.Process.killProcess(android.os.Process.myPid());你说的这种方式我早试过,如果你没拿2.2/2.3系统试的话就别在这说这种话,你看我的发的贴子试过之后再说... |
|
返回顶楼 | |
发表时间:2012-01-31
iaiai 写道 fantao005x 写道 楼主你确定你的程序没问题?close中发广播,在接受到广播后又close,虽然后面有unregister,但是你不觉得这样很奇怪吗?
用这个: Process.killProcess(Process.myPid()); 秒杀一切! 对了android.os.Process.killProcess(android.os.Process.myPid());你说的这种方式我早试过,如果你没拿2.2/2.3系统试的话就别在这说这种话,你看我的发的贴子试过之后再说... 楼主说话火气好大,大家讨论个问题,有必要这样嘛。哎…… 不知道楼主从哪里看出来我没有试验过的? 我的程序在2.2上用这个:Process.killProcess(Process.myPid());是没问题的(2.3没试),我们项目组开发的项目用这个在2.2,2.3都没问题。 如果你试验的不行的话,那可能还有其他原因。说实话我还是菜鸟,如果有冒犯,请见谅。 |
|
返回顶楼 | |
发表时间:2012-01-31
zhengjie_dna 写道 都试了下在2.3.3中还是不能完全退出
你试试Process.killProcess(Process.myPid());行不? |
|
返回顶楼 | |