Je travaille sur une application android et j'essaie d'enregistrer le rappel du cycle de vie de l'activité.Enregistrement de la vie de l'activité Android n'est pas déclenché
Dans mon activité de lancement (Agreement.java) dans la méthode onCreate
je donne les résultats suivants:
this.getApplication().registerActivityLifecycleCallbacks(new LoginManager());
Cette activité effectue une vérification si l'accord a été convenu, et si oui termine immédiatement et appelle LoginActivity. java mais la notification de toast que j'ai dans ma classe de rappel d'activité ne montre pas et ne fait pas non plus mes messages de logcat de sorte qu'il ne ressemble pas à son se faire virer.
Ci-dessous est la classe LoginManager qui implémente l'appel d'activité soutient
public class LoginManager extends Application implements Application.ActivityLifecycleCallbacks
{
private final String TAG = "LoginManager";
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState)
{
Toast.makeText(activity, "Activity Created", Toast.LENGTH_LONG).show();
Log.d(TAG, "Activity Created");
long currentEpochTime = System.currentTimeMillis()/1000l;
Log.d(TAG, "Current Epoch: " + currentEpochTime);
CommonTasks commonTasks = new CommonTasks(activity);
SharedPreferences settings = commonTasks.getAppsSharedPreferences();
long timeDifference = currentEpochTime - settings.getLong(Defines.SharedPreferenceSettings.LAST_ACTIVE_EPOCH, 0);
Log.d(TAG, "Time Difference: " + timeDifference);
if (timeDifference >= 120) //2 Minutes
{
Log.d(TAG, "Logging out");
//Over 2 minutes so we need to logout
Intent intent = new Intent(activity, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(intent);
}
else
{
Log.d(TAG, "Not Logging Out");
//No need to logout, save the current time
SharedPreferences.Editor editor = settings.edit();
editor.putLong(Defines.SharedPreferenceSettings.LAST_ACTIVE_EPOCH, currentEpochTime);
editor.commit();
}
}
Donc, juste pour rappel, la classe d'accord enregistre le rappel du cycle de vie (LoginManager) ferme instantanément et montre LoginActivity mais le pain grillé et logcat n'est pas déclenché.
Merci
Ainsi, commentant tout sauf le pain et le journal ne produit rien? – Petro
Vous ramenez donc de force les utilisateurs à l'écran de connexion lorsqu'ils commencent une nouvelle activité après 2 minutes? Cela n'empêche pas quelqu'un de rester dans une activité pendant plus de 2 minutes ... –
@ cricket_007 Je n'ai pas besoin de m'inquiéter à ce sujet – Boardy