super.onDestroy kullanıncı uygulama durduruldu hatası
Merhaba arkadaşlar;
Problemim şudur. Ben bir online sınav uygulaması üzerinde çalışıyorum ve işleyiş genel olarak şu şekilde. Sınavı belli saat aralığında yapıyorum bu sebeple de firabase üzerinden tarih ve saat giriyorum sınav başlatma butonunu aktif ediyorum ve kullanıcı o saatte sınava giriyor. Buraya kadar hiç bir sıkıntı yok. Sıkıntı ise sınav bittikten yani verilen süre bitince başlıyor. Sınavın bittiğini gösteren aktiviye yönlendirince başlıktaki durum ortaya çıkıyor. Biraz daha açarsam;
ilk kısımda if ile saat ve tarih alındığında yapılacak işlemi yapıyorum dediğim gibi bu kısımda bir problem yok saat ve tarihi girince olması gerektiği gibi çalışıyor.
Sonra ise else ile tarih ve saat yoksa yani süre bitmişse "yonlendir" islemi var.
private void yonlendir() {
startActivity(new Intent(BirinciActivity.this, IkinciActivity.class));
super.onDestroy();
finish();
}
bu şekilde kullandığımda süre kapalıyken sınavı başlat butonuna tıklayınca elimdeki telefon Android 9 sorunsuz olarak ikinci activiye geçiyor fakat Android 6 olan bir telefonda test etme imkanım oldu durduruldu hatası veriyor tamam deyince ikinci activity açılıyor. (Şunu da belirteyim Android 9da da 6da da android studioda hata kodu görünüyor uygulamanın çalışmasını izlediğimde)
Kodu şu şekilde değiştirdiğimde ise (araştırmalarım sonucu bulduğum yabancı kaynaklarda destroy kaldırılması gerektiği yazıyordu onun için bu şekilde değiştirdim):
private void yonlendir() {
startActivity(new Intent(BirinciActivity.this, IkinciActivity.class));
finish();
}
bu sefer uygulama bir döngüye giriyor ve uygulama takılıp kalıyor kapatma işlemi dahi yapılamıyor.
Hata çıktısı da şu şekilde:
java.lang.RuntimeException:
at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4126)
at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4092)
at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4066)
at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4040)
at android.app.ActivityThread.-wrap16 (Unknown Source)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1708)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6944)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
Caused by: java.lang.IllegalStateException:
at androidx.fragment.app.FragmentManagerImpl.moveToState (FragmentManager.java:1837)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange (FragmentManager.java:3269)
at androidx.fragment.app.FragmentManagerImpl.dispatchPause (FragmentManager.java:3245)
at androidx.fragment.app.FragmentController.dispatchPause (FragmentController.java:234)
at androidx.fragment.app.FragmentActivity.onPause (FragmentActivity.java:476)
at android.app.Activity.performPause (Activity.java:7408)
at android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1414)
at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4115)
Bu konu hakkında bana yardımcı olabileceğiniz bir durum var mıdır arkadaşlar? Şimdiden vereceğiniz cevaplar için teşekkür ederim.