2012-04-09 106 views
1

我想知道什么时候打开任何应用程序。很明显,我正在提供服务,阻止一些应用程序(根据用户),我想检查应用程序是否类似于阻止列表中的任何应用程序并中止应用程序进程。它需要root权限吗?如何知道哪个应用程序被打开?

+0

@ user370305你给的链接是要知道哪些应用程序正在运行,我想知道当任何应用程序的启动和中断,只是让继续或关闭 – Javidan 2012-04-09 14:12:07

回答

0

您可以知道哪些应用正在从processes打开

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

现在找到你的应用程序和编写逻辑按照您的要求。

+0

然后当任何应用程序开始启动时,没有任何事件或知道什么? – Javidan 2012-04-09 14:14:27

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); 
} 
+0

它也是关于运行任务,我想以服务为导向,当任何应用程序开始启动它第1次去引导,并问“我可以启动?” – Javidan 2012-04-09 14:13:43

+0

在IOS中可能是同一件事吗? – 2016-08-31 06:05:48

相关问题