我正在尝试为我的应用转到后台时创建活动。 我正在查看onPause()和onDestroy()方法,但这些方法也被调用,因为我浏览不同的活动并调用finish()。
有更好的方法吗?
答案 0 :(得分:0)
每当您致电OnDestroy()
您的活动被删除或完成。在调用OnPause()
时检查后台检查。
答案 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();
}
如果这等于您的包名,则您的应用程序位于前端,否则它位于后台