在android中实现“检查app是否来自后台”的最佳方法

时间:2012-07-09 18:21:07

标签: java android android-lifecycle

我一直在阅读关于这个主题的其他帖子中的答案,但我还没有找到所有方法中最好的答案。

这是我现在的方法,但我不知道它是否一直都是最差的(据我测试的每一个都是为我工作的)或者是否有更好的方法。

public class FatherClass extends Activity {

private static int activities = 0;

public void onCreate(Bundle savedInstanceState, String clase) {
    super.onCreate(savedInstanceState);
}

protected void onRestart()
{
    super.onRestart();
    if(activities == 0){
        Log.i("APP","BACK FROM BACKGROUND");
    }
}

protected void onStop(){
    super.onStop();
    activities = activities - 1;
}

protected void onStart(){
    super.onStart();
    activities = activities + 1;
}

}

说明: onStart 执行一项活动是"可见"当活动是"不可见"时, onStop 。因此,当您的APP(它表示APP不是活动)进入后台时,所有活动都是"不可见"因此他们执行onStop方法,因此这背后的想法是每次活动开始时添加一个,每次活动隐藏时减去一个,所以如果变量"活动的价值"是 0"零" 这意味着现在在某些点开始的所有活动都不可见,所以当APP从后台返回并执行 onRestart 前面的活动方法"你可以检查是来自后台还是只是重新开始活动。

我很感激有关此主题的一些反馈。

0 个答案:

没有答案