Auto-logout nach 15 Minuten wegen Inaktivität in android
Wie zu verwenden timer in android für das auto-logout nach 15 Minuten wegen Inaktivität des Benutzers?
Ich bin mit Balg-code für diese in meinen loginActivity.java
public class BackgroundProcessingService extends Service {
@Override
public IBinder onBind(Intent intent) {
//TODO Auto-generated method stub
timer = new CountDownTimer(5 *60 * 1000, 1000) {
public void onTick(long millisUntilFinished) {
//Some code
//inactivity = true;
timer.start();
Log.v("Timer::", "Started");
}
public void onFinish() {
//Logout
Intent intent = new Intent(LoginActivity.this,HomePageActivity.class);
startActivity(intent);
//inactivity = false;
timer.cancel();
Log.v("Timer::", "Stoped");
}
};
return null;
}
}
und onclick der Schaltfläche "login", habe ich gerufen Vorsatz für service.
Intent intent1 = new Intent(getApplicationContext(),
AddEditDeleteActivity.class);
startService(intent1);
Bitte um Rat......
Diese Art von Fehlermeldung wird angezeigt nach 15 Minuten
Ich glaube, Sie sind auf der Suche für Inaktivität, anstatt anactivity
ja seine Inaktivität.
starten Sie einen Dienst, und starten einen timer in Sie und handhaben Sie Ihre Sitzung.
Ich habe bearbeitet mein code bitte um Rat.....
Best practice ist die Verwendung alarmmanager oder handler.
ja seine Inaktivität.
starten Sie einen Dienst, und starten einen timer in Sie und handhaben Sie Ihre Sitzung.
Ich habe bearbeitet mein code bitte um Rat.....
Best practice ist die Verwendung alarmmanager oder handler.
InformationsquelleAutor Rash | 2012-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Countdown-Timers
Wenn Benutzer aufgehört hat, irgendeine Aktion zu verwenden
timer.start()
und wenn der Benutzer die Aktiontimer.cancel()
Der Ibinder ist für inter-Prozess-Kommunikation legen Sie die codein
startservice()
Methode des service. Hier sind einige Tutorials für den Dienst vogella.com/articles/AndroidServices/article.html und wenn der timer endet, D. H. auf deronFinish()
Methode rufen Sie diestopself()
um den Dienst zu beenden und zu tun, was Sie tun müssen,Das obige war wenn Sie brauchen, um einen Dienst nutzen, aber ich glaube nicht, dass Sie brauchen, um einen Dienst nutzen, für meinen code, den ich vorgeschlagen hatte, dass er arbeitet in einem anderen thread standardmäßig. Statt
startService(intent1);
können Sie dietimer.start()
um den timer zu startenDank seiner arbeiten, aber es gibt Nachricht, um eine app zu schließen.Wenn ich sagte, OK, dann ist es die Anzeige von home page.was zu tun ist, für die änderung, die Nachricht? und ich möchte dies auf meine restlichen Aktivitäten,Was zu tun ist?bitte um Rat...vielen Dank im Voraus....
Zugänglich zu machen, indem alle Aktivitäten
public static CountDownTimer timer
und Sie können staticly und mir sagen, was eine Nachricht, ich bin nicht in der Lage, Sie zu verstehen ??InformationsquelleAutor Girish Nair
Ich bin einverstanden mit Girish in der obigen Antwort. Ausschlag für Ihre Bequemlichkeit ich bin das freigeben von code für Sie.
Fügen Sie den folgenden code in jede Aktivität.
Service
exportiert wird, und aktiviert inManifest.xml
. ?Ich bin immer
NullPointerException
beiLogoutService.timer.start()
Erklären Sie diesen service in AndroidManifest.xml mit enable=true
Registrieren Sie diesen service in manifest.xml zu.
Dieser code wird-Abmelden-Benutzer sogar, wenn der Benutzer aktiv ist, auf app. und man stop timer bei onStop(). was über die app im hintergrund läuft, wird der Benutzer nie Abmelden, wenn app ist im hintergrund?
InformationsquelleAutor user1398739
Können Sie einen Dienst starten, und starten Sie einen timer. Alle 15 Minuten überprüfen, ob ein flag, sagen wir mal
inactivity
flag auf true festgelegt ist. Wenn es ist, logout form der app.Jedes mal, wenn der Benutzer mit der app interagiert, legen Sie die
inactivity
flag auf "false".InformationsquelleAutor Anup Cowkur
müssen Sie möglicherweise erstellen eine BaseActivity Klasse, die alle anderen Aktivitäten in Ihre app erweitern. in dieser Klasse beginnen Sie Ihren timer-task (TimerTask()) in der onUserInteraction Methode:
. Die onUserInteracted-Klasse startet einen TimerTaskService, die eine innere Klasse für meinen Fall wie folgt:
Den TimerTaskService Klasse asfollows. Bitte beachten Sie das Rennen auf der UI-thread der Fall, die Sie anzeigen möchten, ein DialogFragment für eine Aktion zu tun, bevor login des Benutzers aus:
Werden Sie schnell erkennen, habe ich eine Methode stopTimer, die Sie haben zu rufen nach der geplanten Aktion werden angesprochen, diese Klasse hat nur
timer?.cancel()
- und Sie können auch brauchen, um es in dieonStop()
Methode.NB: diese wird im 10-Sekunden-wegen der 10000ms
InformationsquelleAutor chikwapuro
Ich hoffe das hilft
Fand ich es auf github https://gist.github.com/dseerapu/b768728b3b4ccf282c7806a3745d0347
Verwenden Sie obigen code in der Aktivität wie folgt :
InformationsquelleAutor Anita Barbade