可能重複:
Android:how does application Protector app works?如何知道何時開始啓動另一個應用程序?
怎麼能當新的應用程序開始啓動通知我?很明顯,我點擊應用程序圖標,應用程序開始啓動,我想將我的服務設置爲該事件的觀察者(如果有的話)。有沒有什麼事件或某種方式知道應用程序啓動之前?
可能重複:
Android:how does application Protector app works?如何知道何時開始啓動另一個應用程序?
怎麼能當新的應用程序開始啓動通知我?很明顯,我點擊應用程序圖標,應用程序開始啓動,我想將我的服務設置爲該事件的觀察者(如果有的話)。有沒有什麼事件或某種方式知道應用程序啓動之前?
你不能真正做到這一點有意向或者類似的東西。看看這個人的暴力破解。不是一個很好的解決方案,但最接近你會得到。
,該應用會繼續啓動還是等待回叫? – Javidan 2012-04-17 17:38:31
你錯過了答案。答案是使用鏈接問題部分中的代碼創建服務。 ACTION_PACKAGE_FIRST_LAUNCH不會爲你做任何事情。此外,這種解決方案將迅速耗盡使用此應用程序的任何人的電池。我相信這會讓人們考慮卸載足夠的漏洞。 – 2012-04-17 17:41:34
我想這樣。在我的應用程序服務安裝在設備上後,應用程序需要重新啓動手機。和任何應用程序(除系統應用程序)開始啓動時(第一次)總是ACTION_PACKAGE_FIRST_LAUNCH被調用,我檢查該應用程序是否在阻止列表中,然後如果我可以我中止該過程我中止 – Javidan 2012-04-17 17:46:19
如果我是你,我會打電話讓ActivityManager到
getSystemService(Context.ACTIVITY_SERVICE)
,然後設置我的程序用下面的代碼:
private final static Handler updateHandler = new Handler();
private static long WAKEUP_INTERVAL = 10000; // 10secs?
private Runnable periodicUpdate = new Runnable() {
@Override
public void run() {
checkRunningProcesses();
updateHandler.postDelayed(this, WAKEUP_INTERVAL);
}
};
做以下兩個定期檢查東西:
這並沒有表現出我無法立即獲得關於程序啓動的通知,但可以儘快找到(幾秒鐘後,也許)來做一些事情。
還有一件事,當屏幕變黑時停止檢查可能是一個明智的想法,以節省電池。
在onCreate()方法你可以做編碼,併發送所需的信息,你想要的,這就是它根據我。 :) – Harpreet 2012-04-17 16:24:24
但是,如何才能進入該應用程序的方法? oO – Javidan 2012-04-17 16:27:25
我什麼也沒有,只有那個事件的監聽者(如果有的話) – Javidan 2012-04-17 16:28:00