我环顾四周,但所有建议都是为了检查我自己的应用/活动的状态。 使用生命周期。 我需要检查另一个应用程序是否在前台/后台运行/暂停。 可能吗。根据应用程序的状态,我需要更改我的进一步操作。
答案 0 :(得分: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包只是一个双重检查。