可能重复:
Android:应用程序保护器应用程序如何工作?
新应用程序开始启动时如何通知我?明确地说,我单击应用程序图标,然后应用程序开始启动,我想将我的服务设置为该事件的观察者(如果有的话)。在应用程序启动之前是否有任何事件或某种方式知道这一点?
可能重复:
Android:应用程序保护器应用程序如何工作?
新应用程序开始启动时如何通知我?明确地说,我单击应用程序图标,然后应用程序开始启动,我想将我的服务设置为该事件的观察者(如果有的话)。在应用程序启动之前是否有任何事件或某种方式知道这一点?
如果我是你,我会打电话给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);
}
};
定期检查以下两件事:
这样,我无法立即收到有关程序启动的通知,但可以很快(可能是几秒钟后)找到有关它的信息,以便对其进行处理。
还有一件事,当屏幕变暗时停止检查以节省电池可能是一个明智的主意。
你不能真的用意图或类似的东西来做这件事。看看这家伙的蛮横。不是一个很好的解决方案,但你会得到最接近的解决方案。