了解Android应用何时处于后台

时间:2013-12-17 06:18:52

标签: android android-intent

我正在尝试为我的应用转到后台时创建活动。 我正在查看onPause()和onDestroy()方法,但这些方法也被调用,因为我浏览不同的活动并调用finish()。

有更好的方法吗?

3 个答案:

答案 0 :(得分:0)

每当您致电OnDestroy()您的活动被删除或完成。在调用OnPause()时检查后台检查。

有关Activity Life cycle

的更多信息

答案 1 :(得分:0)

创建一个扩展Application

的类
public class MyApplication extends Application {

  public boolean status=false;

}

然后在所有活动中使用此变量。

onPause()myApp.status=false;

中的

onResume()myApp.status=true;

中的

答案 2 :(得分:-1)

如果你从你的活动中检查这个,那么你的应用程序将永远在前台,我的建议是提供一个单独的服务,继续检查当前的顶级应用程序。

private String getCurrentTopActivity() {

        ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager
                .getRunningTasks(1);
        ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
        return ar.topActivity.getClassName().toString();
    }

如果这等于您的包名,则您的应用程序位于前端,否则它位于后台