I have a very weird expception happening on my app.
I overwrote the onBackPressed
of some of my activities in order to show an intertitial ad. the code is very simple
public void onBackPressed() {
if (showIntertitialAd())
//pseudocodehere
show ad
... on close -> super.onBackPressed();
else
super.onBackPressed();
}
however, somehow im gettng IllegalStateException
in some cases here is the stacktrace
Caused by java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.app.FragmentManagerImpl.checkStateLoss(FragmentManagerImpl.java:1413)
at android.app.FragmentManagerImpl.popBackStackImmediate(FragmentManagerImpl.java:576)
at android.app.Activity.onBackPressed(Activity.java:2507)
at androidx.activity.ComponentActivity.access$001(ComponentActivity.java:53)
at androidx.activity.ComponentActivity$1.run(ComponentActivity.java:77)
at androidx.activity.OnBackPressedDispatcher.onBackPressed(OnBackPressedDispatcher.java:197)
at androidx.activity.ComponentActivity.onBackPressed(ComponentActivity.java:314)
at com.tomatedigital.adinjector.AdsAppCompatActivity.access$001(AdsAppCompatActivity.java:50)
at com.tomatedigital.adinjector.AdsAppCompatActivity$OnBackPressededReward.onRewarded(AdsAppCompatActivity.java:542)
at com.tomatedigital.adinjector.listener.InterstitialAdListener.onAdClosed(InterstitialAdListener.java:40)
at com.google.android.gms.internal.ads.zzuf.onAdClosed(zzuf.java:4)
at com.google.android.gms.internal.ads.zzvp.zza(zzvp.java:4)
at com.google.android.gms.internal.ads.zzgk.onTransact(zzgk.java:13)
at android.os.Binder.transact(Binder.java:387)
at fj.b(fj.java:2)
at com.google.android.gms.ads.internal.client.ag.a(ag.java:1)
at com.google.android.gms.ads.internal.zzk.n(zzk.java:2)
at com.google.android.gms.ads.internal.aq.n(aq.java)
at com.google.android.gms.ads.internal.g.D(g.java)
at com.google.android.gms.ads.internal.aq.D(aq.java:1)
at com.google.android.gms.ads.internal.overlay.k.n(k.java:5)
at com.google.android.gms.ads.internal.overlay.k.m(k.java:6)
at com.google.android.gms.ads.internal.overlay.k.e(k.java:3)
at com.google.android.gms.ads.internal.overlay.client.b.a(b.java:13)
at fk.onTransact(fk.java:4)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.internal.ads.zzgi.zza(zzgi.java:21)
at com.google.android.gms.internal.ads.zzapi.onPause(zzapi.java:17)
at com.google.android.gms.ads.AdActivity.onPause(AdActivity.java:40)
at android.app.Activity.performPause(Activity.java:6356)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1334)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3388)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3361)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3336)
at android.app.ActivityThread.-wrap13(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1372)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
how can i solve it?