2013-04-21 83 views
0

我想知道的是显示在Android设备确定当前设备是否

什么活动,如果我将搜索活动我,如果不是我执行另一个代码

目的执行代码 上存在一个活动是让一个机器人服务来检查这个任务

回答

0

这应该为你工作:

Get active Application name in Android

只需调整它所需的功能,并且您应该能够轻松检查。

+0

我想用activitéManager什么活动执行 期间我想与另一个活动来比较(预期:MainAlarme)做 – user2282259 2013-04-21 23:03:53

0

你确定这就是你想要的吗?

目的是使一个机器人的服务来检查这个任务

如果你告诉我们什么是背后的“目的”的原因,我几乎可以肯定我们可以帮你更好的方法做你想做的事情(可能我们可以找到一种可以减少电池消耗,减少用户反感的方法)。

在任何情况下,这里是回答你的问题:

ActivityManager使用getRunningTasks获得最近推出的活动列表。

公共 列表 getRunningTasks(INT MaxNum来)

回报正在 当前正在运行的任务列表,最 最近的是第一和旧的 无误。需要注意的是“跑” 并不意味着任何任务的代码 当前加载或活动 - 在 任务可能已被 系统冻结,以便它可以在 重新启动之前的状态时,接着升温 到前景。

你也可能需要使用该标志RECENT_WITH_EXCLUDED,以确保你的所有活动,甚至有目的地从列表中排除自己的人。

public static final intRECENT_WITH_EXCLUDED

在API级别1标志与getRecentTasks(int, int)使用: 返回所有的任务,即使是那些已经设置了 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS标志。

+0

我想做的事与activitéManager在执行期间的活动 我想与其他活动进行比较(exp:MainAlarme) – user2282259 2013-04-21 23:03:11

+0

Activité?你有没有机会说法语?我自己的母语是法语,所以如果需要的话,我可以切换到该语言(并为我们其他人翻译)。为什么你想比较MainAlarm的活动?你知道闹钟有自己的内容提供商,你可以操纵的价值?你想要制作什么样的应用程序? – 2013-04-22 04:45:50

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--------------");