Я создаю приложение, которое требует входа. Я создал основную и регистрационную активность.
В основном методе 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
.
Кто-нибудь знает, как установить переменную global, чтобы избежать появления формы входа в систему после того, как пользователь уже успешно прошел проверку подлинности?