我想知道Android设备中显示的活动
如果我将搜索的活动我执行代码 如果不是我执行另一个代码
目的是使android服务检查此任务
答案 0 :(得分:0)
答案 1 :(得分:0)
你确定这是你想要的吗?
目的是使android服务检查此任务
如果你告诉我们你的“目的”背后的原因是什么,我几乎可以肯定我们可以帮助你更好地做你想做的事情(可能我们可以找到一种浪费更少电池的方法,哪些会对抗较少的用户)。
无论如何,以下是您问题的答案:
使用ActivityManager的getRunningTasks获取最近启动的活动的列表。
公开 名单 getRunningTasks(int maxNum)
返回任务列表 目前正在运行,最多 最近是第一个和更早的 按顺序注意“跑步” 并不意味着任何任务的代码 目前正在加载或活动 - 任务可能已被冻结 系统,以便可以重新启动 它的下一个带来的先前状态 到前台。
您可能还想使用标记 RECENT_WITH_EXCLUDED
来确保您获得所有活动,甚至是有意将自己从该列表中排除的活动。
public static final int
RECENT_WITH_EXCLUDED
在API级别1标记中添加,用于
getRecentTasks(int, int)
: 返回所有任务,即使那些设置了他们的任务FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
旗帜。
答案 2 :(得分:0)
我发现这段代码非常好用
Log.i("---------------", "----------onCreate--------------");
Log.i("-----test------", "----------1--------------");
ActivityManager am = (ActivityManager) this .getSystemService(ACTIVITY_SERVICE);
Log.i("-----test------", "----------2-------------");
List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
Log.i("-----test------", "---------3--------------");
ComponentName componentInfo = taskInfo.get(0).topActivity;
Log.i("-----test------", "----------4--------------");
Log.i("------------------", "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClassName()+" Package Name : "+componentInfo.getPackageName());
Log.i("-----test------", "----------5--------------");