应用程序上的密码恢复

时间:2011-08-28 16:54:13

标签: android

如何区分应用最小化或新活动何时开始?

我想在Dropbox应用程序中实现密码,其中当应用程序最小化时,如果应用程序恢复,它将要求输入密码。这就是我的想法。

public static Boolean isMinimized = false;
@Override
public void onResume() {
      super.onResume();
      if(isMinimized)
      {
          isMinimized = false;
          startActivity(new Intent(this, Login.class));
      }
}

@Override
public void onPause() {
      super.onPause();
      isMinimized = true;
      Toast.makeText(this, "Application Minimized", Toast.LENGTH_LONG).show();
}

当我运行一个新活动时,我将isMinimized设置为false,因此登录不会弹出,但是当我最小化它并返回它时,onPause总是被触发,因为它再次暂停。

通过使用getParent(),我如何动态更改静态变量。

注意:我不能使用强制转换,因为它不是静态的,它会调用此活动

我使用im 100%更改isMinimized的值,确保SystemPreferences是父级。

SystemPreferences.isMinimized = false;

然而,是否有一种方法可以使用getParent(),因此我可以使用像

这样的东西
((SystemPreferences) getParent()).isMinimized = false;

注意:父母是动态的。

1 个答案:

答案 0 :(得分:0)

当移动到后台,恢复等时,每个活动都会通过特定方法运行。

所以,如果你在你所知道的活动的onResume()方法中,那么这个活动就会恢复活跃并处于最前面。 (根据Android活动周期:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

编辑:如果我理解正确,您可以通过将其保存为首选项来“保存”您设置的变量。