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

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

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

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

Ответы [ 2 ]

0 голосов
/ 09 июня 2017
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 голосов
/ 07 марта 2012

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

...