Я слежу за курсом Firebase в выходные (Android) от Udacity на Android Studio
. На Урок 36. Обработка отмененного входа * С субботы показано, как исправить ошибку, связанную с нажатием кнопки «Назад», и приложение продолжает отображать экран входа в бесконечном цикле. Это код, который предположительно решает проблему, функция onActivityResult
:
@Override // Added manually.
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RC_SIGN_IN){
if(resultCode == RESULT_OK) {
Toast.makeText(this, "Signed in!", Toast.LENGTH_SHORT).show();
}
}else if(resultCode == RESULT_CANCELED){
Toast.makeText(this, "Sign in canceled", Toast.LENGTH_SHORT).show();
finish();
}
Toast.makeText(this, String.valueOf(requestCode), Toast.LENGTH_SHORT).show();
}
Обратите внимание, что внизу я добавил Toaster
для отображения значения переменной requestCode
:
Toast.makeText(this, String.valueOf(requestCode), Toast.LENGTH_SHORT).show();
requestCode
всегда 1
(и всегда равно постоянному значению RC_SIGN_IN
) после выхода из системы или даже при первом запуске приложения.
Вещи, которые я пробовал: стереть данные / кэш, переустановить приложение, отключить / включить Don't keep activities
в Developer options
.
Вот полный MainActivity.java
код:
https://ideone.com/YyF0tr
Я уже спрашивал на форумах курса , но пока не получил ответа, и решения, предоставленные для аналогичной проблемы, не решили мою проблему.
Я использую физический LG G3 для тестирования приложения.
UPDATE:
resultCode
возвращает 0
. Не путать с requestCode
, который всегда возвращает 1
, как указано выше.