Android的,我怎么知道用户切换到其他应用

问题描述:

可能重复:
Run code when Android app is closed/sent to backgroundAndroid的,我怎么知道用户切换到其他应用

在我的Android应用程序,我需要当用户切换从我的应用程序的任何通知其他应用程序,以做一些安全工作。它可以通过点击后退,主页按钮,通过最近的应用程序按钮。任何其他方式? 在android.app.Application中找不到任何东西。 我在应用程序中有许多活动,要将代码放入Activity.onPause()将无法工作,因为它可能会转到同一应用程序中的另一个活动。我需要找到一种被注意的方法。 对此有什么好主意? 由于

AFAIK没有简单的方法来做你所需要的。

在我们的应用程序中,我们使用轮询当前顶级活动来检查它是否属于我们的应用程序。

ComponentName getTopActivity() { 
    List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(1); 
    ActivityManager.RunningTaskInfo topTask = runningTasks.get(0); 
    return topTask.topActivity; 
} 

我真的很想知道有没有更好的方法。

+0

谢谢Uaraven。所以你建议运行一个服务不断检查顶级活动? – brewphone 2012-07-20 18:23:07

+0

这对我来说是最简单的方法。谢谢。 – brewphone 2012-07-23 13:41:16

+0

是的,我会将其作为服务来使用,所以它不会取决于活动的生命周期。 – uaraven 2012-07-23 14:06:20

重复的:Run code when Android app is closed/sent to background

基本上 - 创建与onPause正确设置一个基底活动,并从该一个延伸所有其他活动。