问题1:如果我用Activity A调用Activity B 再从B调用Activity C。在C中我调用了System.exit(0).我想知道Activity栈中是Activity C没有了,还是Activity A B C 都没有了。
PS:System.exit(0)不是杀死了当前的进程了吗,我的理解应该是Activity A B C 都没有了,不过实际好像不是这样。
问题2:android:clearTaskOnLaunch=“true”的疑问;如果Activity A 中设置了android:clearTaskOnLaunch=“true”属性,然后A启动了Activity B,然后按home,再进A则不会显示B,而是显示A。问题是如果我按home后没有进A,那么这时候Activity栈中是否A和B都存在?求解。。。
谢谢大神们,帮忙指点一二,纠结死了!
------解决方案--------------------
当栈里有一个以上的Activiy,System.exit(0) 就不管用了。
------解决方案--------------------
发broadcast消息,每个activity中增加一个receiver,这个receiver收到broadcast时候调用,activity对象的finish方法,这样就推出了。