Hello i am getting below exception when i am performing Fragment popBackStack from my Activity 's onNewIntent method.
Below is my Application crash log.
10-11 16:08:49.750: E/AndroidRuntime(13831): FATAL EXCEPTION: main
10-11 16:08:49.750: E/AndroidRuntime(13831): java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1327)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1338)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.support.v4.app.FragmentManagerImpl.popBackStack(FragmentManager.java:466)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.DataSend.sendToBackFragment(DataSend.java:850)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.MyOneFragmentHolder.clearFragmentBackStack(MyOneFragmentHolder.java:117)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.MyOneFragmentHolder.clearBackStack(MyOneFragmentHolder.java:131)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.xxx.view.CustomTabsActivity.onNewIntent(CustomTabsActivity.java:1537)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.Instrumentation.callActivityOnNewIntent(Instrumentation.java:1119)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.deliverNewIntents(ActivityThread.java:1726)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.performNewIntents(ActivityThread.java:1738)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.handleNewIntent(ActivityThread.java:1746)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.access$2300(ActivityThread.java:117)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:982)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.os.Handler.dispatchMessage(Handler.java:99)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.os.Looper.loop(Looper.java:130)
10-11 16:08:49.750: E/AndroidRuntime(13831): at android.app.ActivityThread.main(ActivityThread.java:3687)
10-11 16:08:49.750: E/AndroidRuntime(13831): at java.lang.reflect.Method.invokeNative(Native Method)
10-11 16:08:49.750: E/AndroidRuntime(13831): at java.lang.reflect.Method.invoke(Method.java:507)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
10-11 16:08:49.750: E/AndroidRuntime(13831): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
10-11 16:08:49.750: E/AndroidRuntime(13831): at dalvik.system.NativeStart.main(Native Method)
Now here are my Fragment hierarchy in my FragmentActivity.
- my FragmentActivity Contain one ViewPager
- Now my ViewPager contain five Fragment .
- In that five fragment second fragment,third fragment contain Nested Fragment by below logic.
- I have load simple Fragment with FrameLayout then perform my real Fragment in that and when user do click list item of that fragment it will again load Fragment in this Framelayout.
So my Activity onNewIntent perform popBackStack for my ViewPager second Fragment which work as container.