Host Lifecycle Extension
This is an extension of the lifecycle of an automatic hooking Host App.
Listener Lifecycle
Implement the listening function by automating the lifecycle method of the Host App.
We need to listen to the startup and lifecycle methods of the Host App's Application
, just use the following methods.
The following example
loadApp(name = "com.example.demo") {
// Register lifecycle listeners
// Optional parameter:
// You can set isOnFailureThrowToApp = false
// So that the exception will not be thrown to the Host App to prevent the Host App from crashing
// The default is true
onAppLifecycle(isOnFailureThrowToApp = true) {
// You can implement lifecycle method listeners in Application here
attachBaseContext { baseContext, hasCalledSuper ->
// Determine whether
// The super.attachBaseContext(base) method has been executed by judging hasCalledSuper
// ...
}
onCreate {
// Get the current Application instance through this
// ...
}
onTerminate {
// Get the current Application instance through this
// ...
}
onLowMemory {
// Get the current Application instance through this
// ...
}
onTrimMemory { self, level ->
// Here you can judge whether the app has switched to the background
if (level == ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) {
// ...
}
// ...
}
onConfigurationChanged { self, config ->
// ...
}
}
}
Tips
For more functions, please refer to AppLifecycle.
Register System Broadcast
Register system broadcast through the
Application.onCreate
method to listening system broadcast.
We can also register system broadcast in the Host App's Application
.
The following example
loadApp(name = "com.example.demo") {
// Register lifecycle listeners
onAppLifecycle {
// Broadcast listening when the registered user is unlocked
registerReceiver(Intent.ACTION_USER_PRESENT) { context, intent ->
// ...
}
// Register multiple broadcast listeners, will call back multiple times at the same time
registerReceiver(Intent.ACTION_PACKAGE_CHANGED, Intent.ACTION_TIME_TICK) { context, intent ->
// ...
}
}
}
Tips
For more functions, please refer to AppLifecycle.