Android 使用共享首选项显示启动屏幕一次
我有一个屏幕,我想在我的应用程序加载时第一次显示。然后,如果你退出或点击主屏幕,再次打开应用程序,我不希望启动屏幕显示 我试图通过使用共享的首选项来实现这一点 当我运行应用程序时,它会显示第一个屏幕。但是如果我退出并打开它,它仍然会显示相同的屏幕。 我通过将Android 使用共享首选项显示启动屏幕一次,android,Android,我有一个屏幕,我想在我的应用程序加载时第一次显示。然后,如果你退出或点击主屏幕,再次打开应用程序,我不希望启动屏幕显示 我试图通过使用共享的首选项来实现这一点 当我运行应用程序时,它会显示第一个屏幕。但是如果我退出并打开它,它仍然会显示相同的屏幕。 我通过将布尔值设置为true(默认情况下),使其显示屏幕来进行尝试。然后在运行后将其设置为false,以便下次运行时将显示main_activity.xml而不是splashscreen.xml public class MainActivity e
布尔值设置为true(默认情况下),使其显示屏幕来进行尝试。然后在运行后将其设置为false,以便下次运行时将显示main_activity.xml而不是splashscreen.xml
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
boolean firstTimeRun = getFirstTimeRun();
if (firstTimeRun == true) {
firstTimeRun();
} else {
run();
}
storeFirstTimeRun();
}
private boolean getFirstTimeRun() {
SharedPreferences prefs = getSharedPreferences("First Time Run Value", MODE_PRIVATE);
boolean firstTimeRun = prefs.getBoolean("firstRun", true);
return firstTimeRun;
}
private void storeFirstTimeRun() {
SharedPreferences prefs = getSharedPreferences("First Time Run Value", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("first Run", false);
editor.commit();
}
private void firstTimeRun() {
setContentView(R.layout.splashscreen);
}
private void run() {
setContentView(R.layout.activity_main);
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
public void CuFStudy(View view) {
Intent i = new Intent(this, Careunderfirestudy.class);
startActivity(i);
}
public void TFCStudy(View view) {
Intent i = new Intent(this, Tacticalfieldcarestudy.class);
startActivity(i);
}
public void TECStudy(View view) {
Intent i = new Intent(this, Tacticalevacuationcarestudy.class);
startActivity(i);
}
public void CuFQuiz(View view) {
Intent i = new Intent(this, Careunderfirequiz.class);
startActivity(i);
}
public void TFCQuiz(View view) {
Intent i = new Intent(this, Tacticalfieldcarequiz.class);
startActivity(i);
}
public void TECQuiz(View view) {
Intent i = new Intent(this, Tacticalevacuationcarequiz.class);
startActivity(i);
}
}
这两个键不同,用于检索和存储SharedReferences
中的值
使用firstRun
作为storeFirstTimeRun
方法中的键:
...
editor.putBoolean("firstRun", false);
editor.commit();
十分钟计时器可以防止这种情况发生。我定期回来看看。别再给我压力了!!!1.