Функция автоматического выхода из системы в приложении для Android

1

Я создаю собственное приложение для Android, где я хочу, чтобы пользователь автоматически выходил из системы (вид тайм-аута сеанса) после периода бездействия, говорят 5 минут.

Это автономное приложение, и в приложении есть несколько экранов. Я не поддерживаю сеанс пользователя с сервером.

PS: Я нашел возможное решение для написания события тайм-аута для Android. Но это подходит только для одного приложения Activity. Может ли кто-нибудь предложить подобное решение для многозадачного приложения?

  • 0
    Более подробная информация поможет людям ответить на этот вопрос. К чему они подключаются? Существуют ли сетевые запросы? Простое решение может состоять в том, чтобы просто хранить временную метку где-то, что вы проверяете на истечение срока действия, вы можете записать временную метку в onPause и проверить ее в onResume, и она будет доступна для всего вашего приложения.
  • 0
    @Theblacknight Я звоню в веб-сервис REST для аутентификации пользователя во время входа в систему. Кроме того, на разных экранах появляется больше вызовов веб-служб для извлечения / хранения определенной информации. Тем не менее, это отдельное приложение, и я не поддерживаю ни одного сеанса пользователя.
Теги:
logout
session-timeout

2 ответа

0
public class LogoutService extends Service {
    public static CountDownTimer timer;
@Override
public void onCreate(){
    // TODO Auto-generated method stub
    super.onCreate();
      timer = new CountDownTimer(1 *60 * 1000, 1000) {
            public void onTick(long millisUntilFinished) {
               //Some code
                Log.v(Constants.TAG, "Service Started");
            }

            public void onFinish() {
                Log.v(Constants.TAG, "Call Logout by Service");
                // Code for Logout
                stopSelf();
            }
         };
}
@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
 }
 }
And then Add the below code in every activity.

@Override
 protected void onResume() {
// TODO Auto-generated method stub
super.onResume();

LogoutService.timer.start();
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
LogoutService.timer.cancel();
}   
0

Итак, в ответ на ссылку, которую вы опубликовали, почему бы не следовать этому подходу, а создайте абстрактную базовую деятельность, чтобы распространить все ваши другие действия. Таким образом, вы добавляете тайм-аут для каждого вида деятельности, но ваша базовая деятельность будет справляться с этим, ваши дочерние действия не обязательно будут знать, что происходит.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню