当我的应用程序在后台运行。 它需要监测其他应用swaping在前台,并得到他们的名字。 如何实现? 即当一个应用程序后藤前景。 我的应用程序必须通知。 然后得名。
Answer 1:
为了监视其他应用程序可以使用ActivityManager为获得目前最顶级的机应用的活动堆栈在你机应用:
ActivityManager am = (ActivityManager)context.getSystemService(Context. ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> processes1 = activityManager.getRunningTasks(1);
ComponentName componentInfo = processes1.get(0).topActivity;
String classname =processes1.get(0).topActivity.getClassName();
String packagename = processes1.get(0).topActivity.getPackageName();
Answer 2:
我们不能用getRunningTasks由于Android指定“方法仅用于调试和呈现任务管理的用户界面”。
没有直接的方法来获得,而背景或前景的应用状态,但有越来越知道什么时候应用是前景和背景有关详细信息的可能性: 看这里
文章来源: How to monitoring app swaping in foreground?