gpt4 book ai didi

android - 即使应用程序关闭,全局变量仍然存在

转载 作者:太空狗 更新时间:2023-10-29 14:13:36 24 4
gpt4 key购买 nike

我已经声明了一个扩展 Application 的类,以在我的应用程序的 Activity 之间保留一个全局变量。当我从启动器 Activity (FirstActivity.Java) 中按回时,我的应用程序关闭,但变量的值仍然保持不变,这是我不想要的。如何实现?

Please note - FirstActivity extends BaseActivity

I am creating this whole setup to show a pin activity that asks for pin whenever app starts or comes to foreground from backGround. So I have setup flag to false in onStop() so that pin shows up when it checks the flag in onStart();

我做了以下 -

BaseActivity.Java

public class BaseActivity extends Activity {
//static boolean flag = true;
Context con;
private ApplicationActivity app;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//this.savedInstanceState = savedInstanceState;
app = (ApplicationActivity)getApplication();
Log.d("pin", "on Create base");
con = this;
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.d("pin", "on start 1");
if(app.isFlag()){
//Start pin activity here - if pin is true it sets flag to false
app.setFlag(false);
}

}

ApplicaitonActivity.java

public class ApplicationActivity extends Application{
private boolean flag = true;

public boolean isFlag() {
//SharedPreferences sp = new SharedPreferences();
return flag;
}

public void setFlag(boolean flag) {
this.flag = flag;
}

FirstActivity.Java

public class MainActivity extends BaseActivity {
//private Bundle savedInstanceState;
Context con;
Button nextActivity;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
//this.savedInstanceState = savedInstanceState;
Log.d("pin", "on Create 1");
con = this;
}
}

最佳答案

如何将仍然保持不变的变量设置为空或在您离开应用程序时重置变量。

你可以用这个

@Override
public void onPause() {
yourVariable = null;
}

@Override
public void onDestroy() {
yourVariable = null;
}

此外,我建议使用 SharedPreferences 在整个应用程序中设置全局变量。

关于android - 即使应用程序关闭,全局变量仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24692378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com