Я создаю приложение, которое требует входа в систему. Я создал основной и логин активности.
В основной вид деятельности onCreate
методом я добавил следующее условие:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...
loadSettings();
if(strSessionString == null)
{
login();
}
...
}
Метод onActivityResult
, который выполняется при завершении формы входа, выглядит следующим образом:
@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);
}
}
}
Проблема в том, что форма входа в систему иногда появляется дважды (метод login()
вызывается дважды), а также при скольжении клавиатуры телефона снова появляется форма входа в систему, и я предполагаю, что проблема в переменной strSessionString
.
Кто-нибудь знает, как установить глобальную переменную, чтобы избежать появления формы входа в систему после успешной аутентификации пользователя?