我想知道 android 设备中正在显示什么活动
如果我要搜索的活动我执行代码如果不是我执行另一个代码
目的是制作一个android服务来检查这个任务
我想知道 android 设备中正在显示什么活动
如果我要搜索的活动我执行代码如果不是我执行另一个代码
目的是制作一个android服务来检查这个任务
我发现这段代码效果很好
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--------------");
你确定那是你想要的吗?
目的是制作一个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
标志的任务。