-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathShellApplication.kt
More file actions
61 lines (43 loc) · 1.47 KB
/
ShellApplication.kt
File metadata and controls
61 lines (43 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.hudson.component
import android.app.Activity
import android.app.Application
import android.os.Bundle
import com.hudson.hrouter_api.HRouter
import com.hudson.hrouter_api.param.ParameterInjectorManager
import java.lang.Exception
/**
* Created by Hudson on 2022/6/1.
*/
class ShellApplication: Application() {
override fun onCreate() {
super.onCreate()
HRouter.initAsync(this)
autoInjectActivityPage()
}
private fun autoInjectActivityPage(){
registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks{
override fun onActivityPaused(activity: Activity) {
}
override fun onActivityResumed(activity: Activity) {
}
override fun onActivityStarted(activity: Activity) {
}
override fun onActivityDestroyed(activity: Activity) {
}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
}
override fun onActivityStopped(activity: Activity) {
}
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
injectActivity(activity)
}
})
}
private fun injectActivity(activity: Activity){
try{
ParameterInjectorManager.inject(activity)
}catch (e: Exception){
// e.printStackTrace() ignore, 对于那些没有注册路由的页面
}
}
}