如何知道打开了哪个应用?

时间:2012-04-09 05:58:45

标签: java android

我想知道何时打开任何应用。显然,我正在制作阻止某些应用程序的服务(根据用户),我想检查应用程序是否类似于阻止列表中的任何应用程序并中止该应用程序进程。它是否需要root访问权限?

2 个答案:

答案 0 :(得分:0)

您可以知道当前打开了哪些应用

ActivityManager manager = 
    (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();

现在从 processes 找到您的应用并根据您的要求编写逻辑。

答案 1 :(得分:0)

使用此代码

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runtasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < runtasks.size(); i++) {
Log.d("Running task", "Running task: " + runtasks.get(i).baseActivity.toShortString() + "\t\t ID: " + runtasks.get(i).id);
}