j'ai un code qui fonctionne correctement dans Android Studio mais je ne sais pas comment m'y prendre pour l'intégrer dans windev mobile.
En effet j'affiche juste une alerte après un période inactivité d'une (1) minutes.
voici le code:
1) - InactivityDetector.java
package com.dikens.verroullage_ecran;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Handler;
import android.os.Looper;
import android.view.MotionEvent;
import android.view.View;
public class InactivityDetector implements View.OnTouchListener {
private static final long INACTIVITY_DELAY = 60 * 1000; // 5 minutes en millisecondes
private Handler inactivityHandler;
private Runnable inactivityRunnable;
private AlertDialog.Builder alertDialogBuilder;
private AlertDialog alertDialog;
public InactivityDetector(final View rootView) {
inactivityHandler = new Handler(Looper.getMainLooper());
inactivityRunnable = new Runnable() {
@Override
public void run() {
// Afficher l'alerte ici
alertDialog.show();
}
};
alertDialogBuilder = new AlertDialog.Builder(rootView.getContext());
alertDialogBuilder.setMessage("Votre session va expirer.");
alertDialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// Réinitialiser le délai d'inactivité lorsque l'utilisateur répond à l'alerte
resetInactivityTimer();
}
});
alertDialog = alertDialogBuilder.create();
rootView.setOnTouchListener(this);
// Démarre le minuteur pour la première fois
resetInactivityTimer();
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
// Réinitialise le minuteur lorsque l'utilisateur interagit avec l'écran
resetInactivityTimer();
return false;
}
private void resetInactivityTimer() {
inactivityHandler.removeCallbacks(inactivityRunnable);
inactivityHandler.postDelayed(inactivityRunnable, INACTIVITY_DELAY);
}
}
2) - MainActivity.java
package com.dikens.verroullage_ecran;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View rootView = findViewById(android.R.id.content);
InactivityDetector inactivityDetector = new InactivityDetector(rootView);
}
}
Merci d'avance pour votre aide
-
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
WM Besoin d'aide pour l'implémentation d'un system de verrouillage temporaire de l'application android
Discussion dans 'Windev Mobile' créé par Dikens, Jan 10, 2024.
Tags:
Franchement, y a plus simple
Dès que l'utilisateur clique sur un bouton
Ou sur tous les évènements de l'application
Tu réinitialise le chrono
En plus tu as fait un code java
Alors que tu peux très bien le faire en wlanguage.
WX1331 et Gemini1961 aiment ça.
Franchement, y a plus simple
Dès que l'utilisateur clique sur un bouton
Ou sur tous les évènements de l'application
Tu réinitialise le chrono
En plus tu as fait un code java
Alors que tu peux très bien le faire en wlanguage.Cliquez pour agrandir...
La classe cACTIVITE dans une des LST permet de faire tout celà :
Classe permettant de surveiller l'activité de l'utilisateur
Utilisation d'un Timer et capture d'événements Windows.
Permet au choix :
- l'arrêt de l'application après un certain temps d'inutilisation. Dans ce cas un message d'information averti l'utilisateur de la fermeture de l'application.
- d'exécuter une procédure de l'application.
WX1331 apprécie ceci.
La classe cACTIVITE dans une des LST permet de faire tout celà :
Classe permettant de surveiller l'activité de l'utilisateur
Utilisation d'un Timer et capture d'événements Windows.
Permet au choix :
- l'arrêt de l'application après un certain temps d'inutilisation. Dans ce cas un message d'information averti l'utilisateur de la fermeture de l'application.
- d'exécuter une procédure de l'application.Cliquez pour agrandir...
Puis-je savoir laquelle des LST et les versions de windev mobile concerné ?
Moi j'utilise la version 28.
Bonsoir Dikens,
Moi je suis restée à la 20.
Et il a toujours été hors de question que je fasse chauffer ma CB pour la LST.
Mais si tu fais une recherche du contenu des LST sur le site de PCSoft, tu trouveras ton bonheur.
Et puis il y en aura bien un parmi nous qui va chercher à ta place.