diff --git a/android/app/src/main/java/com/trust/ywx/BuzActivity.kt b/android/app/src/main/java/com/trust/ywx/BuzActivity.kt index 8cca016..7c9287e 100644 --- a/android/app/src/main/java/com/trust/ywx/BuzActivity.kt +++ b/android/app/src/main/java/com/trust/ywx/BuzActivity.kt @@ -8,6 +8,7 @@ import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnable import com.facebook.react.defaults.DefaultReactActivityDelegate import com.trust.ywx.multiple.MultipleReactActivityDelegate import com.trust.ywx.specs.navigation.NavigationHelper +import com.trust.ywx.utils.AppManager class BuzActivity : ReactActivity() { diff --git a/android/app/src/main/java/com/trust/ywx/MainActivity.kt b/android/app/src/main/java/com/trust/ywx/MainActivity.kt index 7331676..893257a 100644 --- a/android/app/src/main/java/com/trust/ywx/MainActivity.kt +++ b/android/app/src/main/java/com/trust/ywx/MainActivity.kt @@ -5,6 +5,7 @@ import com.facebook.react.ReactActivity import com.facebook.react.ReactActivityDelegate import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled import com.facebook.react.defaults.DefaultReactActivityDelegate +import com.trust.ywx.utils.AppManager class MainActivity : ReactActivity() { override fun getMainComponentName(): String = "app" diff --git a/android/app/src/main/java/com/trust/ywx/MainApplication.kt b/android/app/src/main/java/com/trust/ywx/MainApplication.kt index 7f9bec4..26c12a5 100644 --- a/android/app/src/main/java/com/trust/ywx/MainApplication.kt +++ b/android/app/src/main/java/com/trust/ywx/MainApplication.kt @@ -54,6 +54,9 @@ class MainApplication : Application(), ReactApplication { super.onCreate() if (!BuildConfig.DEBUG) createOrUpdateBundle() + else { + isInit = true + } loadReactNative(this) } @@ -72,7 +75,7 @@ class MainApplication : Application(), ReactApplication { // bundle.zip在本地的路径 val bf = File(FileHelper.getFilePath("bundle.zip", this, "bundles")) // 果断点,直接删除重建 - if (f.exists() && !f.isDirectory) { + if (f.exists() && f.isDirectory) { f.delete() } f.mkdirs() diff --git a/android/app/src/main/java/com/trust/ywx/WelcomeActivity.kt b/android/app/src/main/java/com/trust/ywx/WelcomeActivity.kt index 3287e7d..2bc6a27 100644 --- a/android/app/src/main/java/com/trust/ywx/WelcomeActivity.kt +++ b/android/app/src/main/java/com/trust/ywx/WelcomeActivity.kt @@ -4,8 +4,11 @@ import android.content.Intent import android.os.Bundle import android.os.Handler import android.os.Looper +import android.os.Process +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.trust.ywx.event.BundleUpdateEvent +import com.trust.ywx.utils.AppManager import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode @@ -15,21 +18,29 @@ class WelcomeActivity : AppCompatActivity() { val handler = Handler(Looper.getMainLooper()) val runnable = Runnable { if (MainApplication.isInit) { + handler.removeCallbacks(runnableError) startActivity(Intent(this@WelcomeActivity, MainActivity::class.java)) finish() } } + val runnableError = Runnable { + Toast.makeText(this, "初始化失败", Toast.LENGTH_SHORT).show() + Process.killProcess(Process.myPid()) + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) AppManager.addActivity(this) handler.postDelayed(runnable, 3000) + // 8秒没有完成初始化则显示初始化失败 + handler.postDelayed(runnableError, 8000) } @Subscribe(threadMode = ThreadMode.MAIN) fun onMessageEvent(event: BundleUpdateEvent) { handler.removeCallbacks(runnable) + handler.removeCallbacks(runnableError) startActivity(Intent(this@WelcomeActivity, MainActivity::class.java)) finish() } diff --git a/android/app/src/main/java/com/trust/ywx/specs/navigation/NavigationManager.kt b/android/app/src/main/java/com/trust/ywx/specs/navigation/NavigationManager.kt index 8039725..969bdce 100644 --- a/android/app/src/main/java/com/trust/ywx/specs/navigation/NavigationManager.kt +++ b/android/app/src/main/java/com/trust/ywx/specs/navigation/NavigationManager.kt @@ -3,7 +3,7 @@ package com.trust.ywx.specs.navigation import android.content.Intent import android.widget.Toast import com.facebook.react.bridge.ReactApplicationContext -import com.trust.ywx.AppManager +import com.trust.ywx.utils.AppManager import com.trust.ywx.BuzActivity import com.trust.ywx.specs.NativeNavigationManagerSpec @@ -13,7 +13,6 @@ class NavigationManager(reactContext: ReactApplicationContext) : NavigationHelper.routerName = name AppManager.lastActivity() ?.apply { - Toast.makeText(this, "Navigate to $name", Toast.LENGTH_SHORT).show() startActivity(Intent(this, BuzActivity::class.java)) overridePendingTransition(0, 0) } diff --git a/android/app/src/main/java/com/trust/ywx/AppManager.kt b/android/app/src/main/java/com/trust/ywx/utils/AppManager.kt similarity index 96% rename from android/app/src/main/java/com/trust/ywx/AppManager.kt rename to android/app/src/main/java/com/trust/ywx/utils/AppManager.kt index d01a290..0cba350 100644 --- a/android/app/src/main/java/com/trust/ywx/AppManager.kt +++ b/android/app/src/main/java/com/trust/ywx/utils/AppManager.kt @@ -1,4 +1,4 @@ -package com.trust.ywx +package com.trust.ywx.utils import android.app.Activity import java.util.Stack diff --git a/android/app/src/main/java/com/trust/ywx/utils/FileHelper.kt b/android/app/src/main/java/com/trust/ywx/utils/FileHelper.kt index 400aac2..660ff71 100644 --- a/android/app/src/main/java/com/trust/ywx/utils/FileHelper.kt +++ b/android/app/src/main/java/com/trust/ywx/utils/FileHelper.kt @@ -2,7 +2,7 @@ package com.trust.ywx.utils import android.content.Context import android.util.Log -import com.trust.ywx.AppManager +import com.trust.ywx.utils.AppManager import java.io.File import java.io.FileInputStream import java.io.FileOutputStream