每次运行时重新启动应用程序?

时间:2015-08-27 04:25:12

标签: android android-manifest privacy activity-lifecycle

我有2个活动,4位针式登录活动(MainActivity)和内容活动。

此应用程序存储私人信息,以及在恢复活动时无法看到的信息,因此我希望应用程序在每次启动时完全重新启动登录活动,而不是从停止的地方开始。< / p>

我已尝试在内容活动的onStop()和onResume方法中乱搞,但这些似乎非常不可靠,因为有时当我有onRestart设置重新启动登录活动时,它根本不会启动它,并且要求在onStop()中激活登录屏幕将阻止我在后台完成任务,例如保存数据。

我可以添加到清单文件中,告诉应用程序从登录活动重新启动,无论如何?在这样的应用程序上工作时可能发生的最糟糕的事情之一是,除了没有被强制登录的所有者之外的其他人可以访问该信息。

2 个答案:

答案 0 :(得分:1)

您需要关注内容活动中的两个调用:

  • onPause()这是您杀死内容活动并将其从堆栈中删除的位置。你可以很容易地做到这一点:

    @Override
    public void onPause() {
        super.onPause();
        //Save your data here
    
        finish(); //Kill Contect Activity.
    }
    
  • onRestart()这是您将用户重定向到主要活动的位置。

    @Override
    public void onRestart() {
        super.onRestart();
        Intent i = new Intent(this, MainActivity.class);
        startActivity(i);
        finish(); //Kill Contect Activity.
    }
    

This graph可以帮助您理解活动生命周期:

enter image description here

答案 1 :(得分:0)

您需要为Manifest中的活动设置标记android:clearTaskOnLaunchandroid:excludeFromRecents