Page 1 of 1

Android App Supernotcalledexception Crash, wenn er aus dem Hintergrund zurückkommt

Posted: 09 Sep 2025, 16:13
by Anonymous
Ich habe eine Android -App und über Firebases Crashlytics erhalte ich Berichte über diesen Absturz von vor langer Zeit: < /p>

Code: Select all

Fatal Exception: android.util.SuperNotCalledException: Activity {es.aumentur.aumentur/es.aumentur.aumentur.presentation.activities.MainActivity} did not call through to super.onCreate()
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3517)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3700)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:8061)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

< /code>
Die Ausnahme legt nahe, dass der Superkonstruktor für die Mainaktivität nicht aufgerufen wurde, was unmöglich ist, wenn ich den Konstruktor in OnCreate nenne: < /p>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

binding = ActivityMainBinding.inflate(layoutInflater)

val view = binding?.root

setContentView(view)
< /code>
Als ich versuchte, den Fehler zu replizieren, stellte ich fest, dass dies nur geschieht, wenn er zur App zurückkommt, nachdem er ihn im Hintergrund gelassen hat. Ich mache nichts Besonderes beim Betreten des Vordergrunds, wie Sie hier sehen können: < /p>
class AumenturLifecycleListener: LifecycleEventObserver {
override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) {
when (event) {
Lifecycle.Event.ON_START, Lifecycle.Event.ON_RESUME -> {
App.isForeground = true

console.log("AumenturLifecycleListener", "Returning to foreground…")
}
Lifecycle.Event.ON_STOP -> {
App.isForeground = false

console.log("AumenturLifecycleListener","Moving to background…")

PacksRepository.shared().saveCurrentVisit()

BigDataRepository.shared().sendAppCloseEvent()
}
else -> {}
}
}
}
Was könnte hier passieren?