Я использую электронную почту и пароль. Я создал пользователя и аутентифицировал пользователя, но я не знаю, как добавить сеанс для этого пользователя.Создать сеанс с Android Java Firebase
Например, если пользователь входит в свою учетную запись. Он/она может удалить процесс приложения на своем телефоне, когда он не хочет использовать приложение, а затем избавиться от процесса приложения, и сеанс все равно будет продолжаться, поэтому, когда они вернутся к своему приложению, они все равно должны войти в систему, пока он/она не выйдет из системы (unauth).
У меня возникли проблемы с выполнением сеанса для зарегистрированного пользователя. Я считаю, что нужно использовать токен, но я понятия не имею, как его использовать.
Войти Активность:
Firebase user_data = new Firebase("https://myapp.firebaseio.com");
user_data.authWithPassword(login_email.getText().toString(), login_pwd.getText().toString(), new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider());
Toast.makeText(getBaseContext(), "Login success!", Toast.LENGTH_LONG).show();
Intent toMainActivity = new Intent(getApplicationContext(), MainActivity.class);
startActivity(toMainActivity);
}
@Override
public void onAuthenticationError(FirebaseError firebaseError) {
// there was an error
System.out.println("ERROR.........................................");
}
});
Heres простой scenerio: пользователь входит в систему (От Вход класса является Намерение основной класс активности) Пользователь не выйти, но процесс удаления приложения.. Позже Пользователь решает использовать приложение.
Моя проблема: при нажатии на приложение оно возвращает пользователя на страницу входа в систему, тогда как пользователь должен перейти на главную страницу активности.
Обновлено - Initialization
меня инициализировать это еще не экономить вошедшего в состоянии.
Моя проблема: при нажатии на приложение оно возвращает пользователя на страницу входа в систему, тогда как пользователь должен перейти на главную страницу активности.
Вот Главная активность:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
setContentView(R.layout.activity_main);
Firebase user_data = new Firebase("https://myapp.firebaseio.com");
user_data.addAuthStateListener(new Firebase.AuthStateListener() {
@Override
public void onAuthStateChanged(AuthData authData) {
if (authData != null) {
System.out.println("Authentication is currently working"); //this did print
} else {
System.out.println("Failed authentication");
}
}
});
AuthData authData = user_data.getAuth();
if (authData != null) {
System.out.println("The state is: " + authData); //this did print
} else {
System.out.println("Failed");
}
проверить аутентификацию, и они, кажется, хорошо, но когда я удалить процесс после входа в систему на главной деятельности он отскакивает назад на страницу входа когда это Я перезагружаю приложение.
Результаты для мониторинга данных AUTH выше:
рабочего AUTH
аутентификации в настоящее время работает
состояние
состояние является: AuthData {UID = 'simplelogin: 3', provider = 'password', токен = '***', expires = '1426758087', auth = '{prov эр = пароль, UID = simplelogin: 3} ', providerData='{[email protected], isTemporaryPassword = ложь}}
Аутентификация в настоящее время работает
решаемые
Просто добавьте намерение, если в настоящее время выполняется проверка подлинности, и он должен вернуться в основное действие, когда приложение сначала загружается на ваш телефон при первом вызове, который вы вызывали.
Вот страница Войти Активность:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
setContentView(R.layout.activity_main);
Firebase user_data = new Firebase("https://myapp.firebaseio.com");
user_data.addAuthStateListener(new Firebase.AuthStateListener() {
@Override
public void onAuthStateChanged(AuthData authData) {
if (authData != null) {
System.out.println("Authentication is currently working"); //this did print
Intent toMainActivity = new Intent(getBaseContext(), MainActivity.class);
startActivity(toMainActivity);
} else {
System.out.println("Failed authentication");
}
}
});
AuthData authData = user_data.getAuth();
if (authData != null) {
System.out.println("The state is: " + authData); //this did print
} else {
System.out.println("Failed");
}
Вы можете добавить свой отзыв? Не совсем понятно, что вы спрашиваете. –
, поэтому я хочу создать сеанс для зарегистрированного пользователя. Так, например. Допустим, я вошел в систему с помощью своего телефона Android и не хочу использовать это приложение, поэтому я нажимаю кнопку «Домой» и удаляет процесс приложения. Позже я решил использовать это приложение, поэтому, когда я открываю приложение, он все равно должен быть зарегистрирован, но не из моего приведенного выше кода. – nothingness
bump ........... – nothingness