我一直在阅读关于这个主题的其他帖子中的答案,但我还没有找到所有方法中最好的答案。
这是我现在的方法,但我不知道它是否一直都是最差的(据我测试的每一个都是为我工作的)或者是否有更好的方法。
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 强大的>前面的活动方法"你可以检查是来自后台还是只是重新开始活动。
我很感激有关此主题的一些反馈。