Android应用程序在后台被杀死-返回登录屏幕的最佳实践?

Android应用程序在后台被杀死-返回登录屏幕的最佳实践?,android,android-fragments,android-support-library,Android,Android Fragments,Android Support Library,如果应用程序在后台被系统杀死,我希望用户返回堆栈中的第一个活动,即登录活动 目前,我通过检查每个活动的onCreate()中的应用程序级变量并启动登录活动来实现这一点: @Override protected void onCreate(Bundle savedInstanceState) { if (wasKilledInBackground()) { Intent intent = new Intent(this, LoginActivity.clas

如果应用程序在后台被系统杀死,我希望用户返回堆栈中的第一个活动,即登录活动

目前,我通过检查每个活动的
onCreate()
中的应用程序级变量并启动登录活动来实现这一点:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    if (wasKilledInBackground()) {
        Intent intent = new Intent(this, LoginActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(intent);
        super.onCreate(null);
        finish();
        return;
    }
这是可行的,但它要求我们向每个活动添加代码,因为不能执行onCreate()的其余部分(缺少静态模型类)

在iOS上,可以为整个应用程序禁用状态恢复


我想知道是否有a)除了触摸每个活动之外,还有更好的重定向到登录的方法,或者b)与iOS上可用的类似的方法

在哪里设置应用程序级别变量?基本上,我们将静态数据附加到用户登录时填充的应用程序类。如果在创建活动时它不存在,我们知道应用程序一定已被杀死。我们无法保留此数据,因此需要从服务器再次查询。请查看是否可以使用