Skip to content

Commit 71587c1

Browse files
committed
修改代码错误
1 parent f9dc072 commit 71587c1

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

  • module-communication-route/src/main/java/com/flyjingfish/module_communication_route

module-communication-route/src/main/java/com/flyjingfish/module_communication_route/ModuleRoute.kt

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import android.content.Context
66
import android.content.Intent
77
import android.net.Uri
88
import android.os.Bundle
9+
import android.os.Handler
10+
import android.os.Looper
911
import android.os.Parcelable
1012
import androidx.fragment.app.Fragment
1113
import com.flyjingfish.module_communication_annotation.bean.ParamsInfo
@@ -27,6 +29,7 @@ object ModuleRoute {
2729
private val allRouteClass = mutableMapOf<String, BaseRouterClass>()
2830
private val allClazz = mutableMapOf<String, ClassInfo?>()
2931
private var application: Application? = null
32+
private val handler = Handler(Looper.getMainLooper())
3033

3134
fun addRouteClass(moduleName: String, routeClazz: BaseRouterClass) {
3235
allRouteClass[moduleName] = routeClazz
@@ -135,14 +138,6 @@ object ModuleRoute {
135138
fun go(context: Context, onNavigationBack: OnNavigationBack ?= null):Any? {
136139
val clazzInfo = getClassInfo()
137140

138-
PathInfo("/user/UserActivity",ModuleRoute::class,0,PathType.ACTIVITY, object :NewAny{
139-
override fun newInstance(): Any {
140-
return 1
141-
}
142-
},mutableListOf<ParamsInfo>().apply
143-
{
144-
add(ParamsInfo("params1",String::class,null,false))
145-
})
146141
val found = clazzInfo != null
147142
onNavigationBack?.onResult(NavigationResult(found,this,context))
148143
if (!found){
@@ -160,7 +155,7 @@ object ModuleRoute {
160155
clazzInfo.pathInfo,
161156
intent
162157
) {
163-
context.startActivity(intent)
158+
goActivity(context, intent)
164159
}
165160
}else if (clazzInfo != null && clazzInfo.pathInfo.type == PathType.FRAGMENT){
166161
val instance = clazzInfo.pathInfo.newInstance()
@@ -175,6 +170,16 @@ object ModuleRoute {
175170
return null
176171
}
177172

173+
private fun goActivity(context: Context,intent: Intent){
174+
if (Looper.getMainLooper() == Looper.myLooper()){
175+
context.startActivity(intent)
176+
}else{
177+
handler.post {
178+
context.startActivity(intent)
179+
}
180+
}
181+
}
182+
178183
/**
179184
* 跳转页面,需要 [ModuleRoute].[setApplication] 来初始化 application.
180185
* @param onNavigationBack 返回跳转结果

0 commit comments

Comments
 (0)