Ich erstelle eine Anwendung, die eine Anmeldung erfordert. Ich habe die Haupt- und die Anmeldeaktivität erstellt.
In der Haupttätigkeit onCreate
Methode habe ich die folgende Bedingung hinzugefügt:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...
loadSettings();
if(strSessionString == null)
{
login();
}
...
}
El onActivityResult
Methode, die beim Beenden des Anmeldeformulars ausgeführt wird, sieht wie folgt aus
@Override
public void onActivityResult(int requestCode,
int resultCode,
Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode)
{
case(SHOW_SUBACTICITY_LOGIN):
{
if(resultCode == Activity.RESULT_OK)
{
strSessionString = data.getStringExtra(Login.SESSIONSTRING);
connectionAvailable = true;
strUsername = data.getStringExtra(Login.USERNAME);
}
}
}
Das Problem ist, dass das Anmeldeformular manchmal zweimal erscheint (die login()
Methode wird zweimal aufgerufen) und auch wenn die Telefontastatur gleitet, erscheint das Anmeldeformular wieder und ich vermute, das Problem ist die Variable strSessionString
.
Weiß jemand, wie man die Variable global setzt, um zu vermeiden, dass das Anmeldeformular erscheint, nachdem sich der Benutzer bereits erfolgreich authentifiziert hat?