Dans mon application, j'ai un viewpager à l'intérieur et une activité.Obtenir IllegalStateException en revenant sans avoir terminé une intention d'appel
A partir de l'un des fragments, sur un clic de bouton, je suis tiré un intention de voir la zone de numérotation pour faire un appel à l'aide intent.ACTION_VIEW
Il fonctionne très bien dans la plupart des appareils, y compris 2.3.5
, 4.0.8
et 4.1
, mais dans LG Optimus 4.0.3 (L5)
, il demande à l'utilisateur de sélectionner parmi les actions Message
et Call
dans une boîte de dialogue. Si j'appuie sur le bouton d'appel, puis appuyez sur le bouton de retour, cela fonctionne bien. Mais si j'appuie sur le bouton de retour sans sélectionner l'un des deux, l'application se bloque à l'exception,
java.lang.IllegalStateException: Impossible d'effectuer cette action après avoir onSaveInstanceState
La même intention codes fonctionne bien dans LG Optimus, s'il n'y a pas de fragments présents.
J'ai essayé les correctifs pour une erreur similaire, mais ils ne fonctionnent pas.
J'ai essayé de commettre le fragment en utilisant commitAllowingStateLoss()
J'ai aussi essayé avec ce code dans saveInstanceState de mon activité
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString("WORKAROUND_FOR_BUG_19917_KEY", "WORKAROUND_FOR_BUG_19917_VALUE");
super.onSaveInstanceState(outState);
}
Quelqu'un pourrait me aider?
EDIT:
journal d'erreur:
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2448)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2476)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1177)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4476)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1299)
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:445)
at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:164)
at com.sample01.android.activity.ExtensionActivity.onBackPressed(ExtensionActivity.java:499)
at com.sample01.android.activity.Main.onResume(MainActivity.java:328)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1156)
at android.app.Activity.performResume(Activity.java:4710)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2438)
... 10 more