0

我环顾四周,但所有建议都是为了检查我自己的应用程序/活动的状态。使用生命周期。我需要检查另一个应用程序是否在前台/在后台运行/暂停。是否可以。根据应用程序的状态,我需要更改我的进一步操作。

4

1 回答 1

1
ActivityManager acm=(ActivityManager) getSystemService(ACTIVITY_SERVICE);
List< ActivityManager.RunningTaskInfo > taskInfo = acm.getRunningTasks(1); 
taskInfo.get(0).topActivity.getClassName();
ComponentName componentInfo = taskInfo.get(0).topActivity;
String packageName=componentInfo.getPackageName();

我使用活动管理器查找顶部包/活动,如果这与我向应用程序发送广播的要求相匹配,该应用程序将更新数据库中的信息。这可以通过使用 onResume 中的代码注册广播接收器并在 OnPause 中取消注册来简单地完成。所以检查 Top 包就变成了双重检查。

于 2012-12-17T04:16:32.033 回答