如何区分应用最小化或新活动何时开始?
我想在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;
注意:父母是动态的。
答案 0 :(得分:0)
当移动到后台,恢复等时,每个活动都会通过特定方法运行。
所以,如果你在你所知道的活动的onResume()方法中,那么这个活动就会恢复活跃并处于最前面。 (根据Android活动周期:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)
编辑:如果我理解正确,您可以通过将其保存为首选项来“保存”您设置的变量。