onresume - 安卓: "Application level"暂停和恢复

标签 onresume onpause android

<分区>

我一直在尝试获得类似于 Activity 的 onPause 和 onResume 的应用程序级暂停和恢复。我知道没有具有此功能的 API。

我试着关注这个帖子:http://curioustechizen.blogspot.com/2012/12/android-application-level-pause-and.html

但到目前为止我运气不好。

有没有人能做到这一点?你使用了什么范例?

如果您需要我将一些代码粘贴到这个问题中,请告诉我。 感谢您的帮助

最佳答案

该问题的另一种解决方案是仅跟踪每个 Activity 的 onStart() 和 onStop() 调用次数。示例:

首先,创建一个类来保存计数:

public class ActiveActivitiesTracker {
    private static int sActiveActivities = 0;

    public static void activityStarted()
    {
        if( sActiveActivities == 0 )
        {
            // TODO: Here is presumably "application level" resume
        }
        sActiveActivities++;
    }

    public static void activityStopped()
    {
        sActiveActivities--;
        if( sActiveActivities == 0 )
        {
            // TODO: Here is presumably "application level" pause
        }
    }
}

然后在每个 Activity 中,只需调用 activityStarted() 和 activityStopped() 方法:

@Override
public void onStart() {
    super.onStart();
    ActiveActivitiesTracker.activityStarted();
}

@Override
public void onStop() {
    super.onStop();
    ActiveActivitiesTracker.activityStopped();
}

关于onresume - 安卓: "Application level"暂停和恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912229/

相关文章:

java - Android 保存 ArrayList<CustomObject> onPause 和 onSaveInstanceState

java - Android - 如何结束 fragment

Android Studio 错误 : 'command ' C:\Program Files\Java\jdk1. 7.0_75\bin\java.exe'' 已完成,退出值非零 2

android - 通过多个 Activity 保持android蓝牙连接

android - 通过 java/android 代码设置 Nest 字段值时遇到问题

android - OnScanCompletedListener 因 Toast 而崩溃

android - 为什么unity OnApplicationPause在android上被调用两次?

android - 无法恢复 Activity - SharedPreferences

android - 恢复堆栈中不是最顶层的 fragment

Android Studio - Activity 生命周期,恢复