private val mIActivityManager: IActivityManager = ActivityManagerNative.asInterface(
ServiceManager.getService(
Context.ACTIVITY_SERVICE
)
)
方式一(registerProcessObserver) :
mIActivityManager.registerProcessObserver(mIProcessObserverStub)
private val mIProcessObserverStub = object : IProcessObserver.Stub(){
override fun onForegroundActivitiesChanged(
pid: Int,
uid: Int,
foregroundActivities: Boolean
) {
// 栈发生变化
}
override fun onForegroundServicesChanged(pid: Int, uid: Int, serviceTypes: Int) {
}
override fun onProcessDied(pid: Int, uid: Int) {
}
}
方式二(registerTaskStackListener):
mIActivityManager.registerTaskStackListener