2012-04-09 105 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

相關問題