2016-03-24 7 views
0

Ich öffne Splash-Aktivität einmal, das ist, was ich getan habe.Open Splash-Aktivität einmal

public class StartupActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     SharedPreferences settings = PreferenceManager 
       .getDefaultSharedPreferences(StartupActivity.this); 
     String lang = settings.getString("opened", ""); 
     if(opened.equals("1") 
     { 
     Intent i = new Intent(getApplicationContext(), SecondActivity.class); 
     startActivity(i); 
     finish(); 
     }else { //I am setting here opened to 1 
     setContentView(R.layout.activity_main);} 
} 

Wo liegt das Problem? Wenn ich die App zum ersten Mal öffne, zeigt diese Aktivität setcontentview activity main an, aber beim zweiten Mal öffnet der Benutzer die App und geht zur zweiten Aktivität. Aber das Problem ist, für ein paar Millisekunden beim zweiten Öffnen der App macht es offensichtlich, dass Splash-Aktivität öffnet und schließt sich dann für einige Millisekunden.

+0

Nachdem Sie den Splash-Aktivität geöffnet Sie nicht den Wert als 1. 'putString' –

+0

ich das getan habe festgelegt haben das ist nicht die Problem überhaupt. – user3278732

+0

Sie starten die 'Aktivität'; deshalb zeigt es. Das 'Activity'-Fenster wird immer noch geladen, auch wenn Sie' setContentView() 'nicht aufrufen. –

Antwort

0

Ich glaube, Ihr Splash ist die Launcher-Aktivität Ihrer Anwendung und was Sie versuchen zu tun ist, sobald Sie den Splash gestartet und den Wert an die zweite Aktivität übergeben, dann sollte Splash nicht angezeigt werden. ich eine ähnliche Frage sah vor langer Zeit, überprüfen, ob es sie beantwortet

App restarts rather than resumes