安卓应用生命周期

标签 android xamarin.android mvvmcross android-lifecycle background-foreground

我看到很多关于 Activity Lifecycle 的答案,其中大部分对我来说都很清楚。我正在寻找的是应用程序生命周期。我有以下情况:

  1. 应用程序开始 - 使 PIN 无效
  2. 如果 PIN 已过时或无效,则必须输入 PIN
  3. 应用程序处于后台(Android 主屏幕可见)- 使 PIN 无效
  4. 应用程序在前台(应用程序再次可见)- 转到第 2 步

有了 Activity 生命周期,即使不是不可能,也很难实现。有什么建议吗?

最佳答案

受到 Doomsknight 向我指出的解决方案的启发,我构建了这个没有 Timer 的解决方案,如建议的答案中所建议的那样。这是我的 mainapplication.cs 中的代码:

    public void OnActivityPaused(Activity activity)
    {
        _lastActivity = DateTime.Now;
    }

    public void OnActivityResumed(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;

        DateTime now = DateTime.Now;
        TimeSpan span = now - _lastActivity;

        if (span.TotalMilliseconds > 2000)
        {
            Notifier.Classes.Settings.IsPinValid = false;
        }

        _lastActivity = now;
    }

关于安卓应用生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387737/

相关文章:

android - Mvvm交叉验证绑定(bind)可见性

cross-platform - Mvvm跨服务、插件和应用对象

php - 将 JSONArray 从 Android 传递到 PHP

android - JobScheduler Android Oreo 问题

android - 部署 Xamarin Forms Android 应用程序时内存不足

android - Android Release模式下的 MvxException

android - 如何从 React Native 打开其他应用程序?

android - 无法在 Android Studio 中运行 AVD,Android 主页问题 Ubuntu

java - Xamarin android 获取联系人地址

c# - 缺少样式字段 MvxExpandableListView_GroupItemTemplate