我有一个Android应用程序。在第一次运行时,第一个活动将打开,并将在应用程序的存储中保存一个值。当我重新打开应用程序时,我想跳过第一个活动。我怎么能这样做?
重新开启时:
if(stogage_value == "enable"){
skip first activity;
}else{
first activity;
}
答案 0 :(得分:1)
首先在共享首选项中运行存储标志值。每次检查该值,如果没有首先运行,则调用第二个活动。
答案 1 :(得分:1)
Intent myIntent;
if(stogage_value == "enable"){
myIntent = new Intent(CurrentActivity.this, NextActivity.class);
}else{
myIntent = new Intent(CurrentActivity.this, FirstActivity.class);
}
CurrentActivity.this.startActivity(myIntent);
答案 2 :(得分:1)
您需要使用共享首选项来维护计数器或标志。当第一次调用活动时,只需将标志设置为true,如果flag为true,则调用另一个活动或执行其他操作。请参阅提供的答案here。
答案 3 :(得分:1)
在OnCreate中你可以用这种方式实现。你必须首先保存“stogage_value”
boolean firstTime = ""; //get this value from preference
if(!firstTime){
Intent myIntent = new Intent(First.this, NextActivity.class);
firstTime = false;
// here save this in preference
}else{
setContentView(R.layout.main);
}
答案 4 :(得分:1)
在sharedpreference首次启动时保存布尔标志,并在活动启动前读取此值
现在检查布尔值
所以你的代码将是这样的
@Override
protected void onCreate(Bundle savedInstanceState) {
....
Boolean flag;
loadSavedPreferences();
Intent myIntent;
if(flag){
myIntent = new Intent(CurrentActivity.this, FirstActivity.class);
savePreferences()
}else{
myIntent = new Intent(CurrentActivity.this, NextActivity.class);
private void loadSavedPreferences() {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
flag = sharedPreferences.getBoolean("FirstLaunch", true);
}
private void savePreferences() {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putBoolean("FirstLaunch", false);
editor.commit();
}
}
以下是来自slidenerd
的共享偏好的视频教程答案 5 :(得分:1)
我只是运行新活动并停止第一项活动
if(stogage_value == "enable"){
Intent i = new Intent(context, SecondActivity.class);
startActivity(i); //start second activity
finish(); //finish first activity
}else{
//do nothing
}