App被杀时退出用户

时间:2016-03-18 20:48:28

标签: android

当用户登录时,将值对添加到SharedPreference中。 当应用程序被杀死时,我希望用户注销,下次启动时需要再次登录。 如果用户从一个活动切换到另一个活动并再次返回到主活动,则他将被注销。

问题是来自MainActivity的onStop被调用并取消设置SharedPreference中的条目。 我希望在活动之间切换时保持该条目,但是当应用程序退出/终止时,该条目将被取消。

2 个答案:

答案 0 :(得分:2)

而不是onStop()尝试onDestroy()。在活动不可见时调用onStop(),在活动即将被销毁时调用onDestroy()

答案 1 :(得分:1)

我发现这样做的唯一保证方法是创建一个实现Application.ActivityLifecycleCallbacks的类。实施必要的方法来保持已经启动,停止,恢复和销毁的活动的计数器。

实现该类后,您可以在Application类实现中注册您的实现,如下所示:

registerActivityLifecycleCallbacks(new MyLifecycleHandler());

当已启动活动的数量等于已销毁活动的数量时,您可以调用方法来注销用户。或者只是保留一个计数器并在活动开始时递增它,并在它们被销毁后递减它 - 相同的差异。

您可以使用相同的策略来判断您的应用是否在前台。