当SupportErrorDialogFragment必须显示

时间:2016-10-25 16:34:29

标签: android google-play-services

我在项目中使用的游戏服务是:

compile 'com.google.android.gms:play-services-gcm:9.4.0'
compile 'com.google.android.gms:play-services-analytics:9.4.0'
compile 'com.google.android.gms:play-services-auth:9.4.0'

我从未通过自己拨打过GoogleApiAvailability,但我想当我使用gcm或google登录时,似乎我的应用程序崩溃了,因为可用性检查。

Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
       at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1493)
       at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1511)
       at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:638)
       at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:617)
       at android.support.v4.app.DialogFragment.show(DialogFragment.java:139)
       at com.google.android.gms.common.SupportErrorDialogFragment.show(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.zza(Unknown Source)
       at com.google.android.gms.common.GoogleApiAvailability.zza(Unknown Source)
       at com.google.android.gms.internal.zzpn$zza.run(Unknown Source)
       at android.os.Handler.handleCallback(Handler.java:815)
       at android.os.Handler.dispatchMessage(Handler.java:104)
       at android.os.Looper.loop(Looper.java:194)
       at android.app.ActivityThread.main(ActivityThread.java:5631)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

它看起来当播放服务存在一些问题时它应该向用户显示任何对话框,但我的应用程序已经不在前台,所以onSaveInstanceState已经发生,一些回调显示错误对话框rasie { {1}}。

1 个答案:

答案 0 :(得分:0)

IllegalStateException错误表示您的方法已在非法或不适当的时间/状态下为您请求的操作调用。

以下是complete explanation有关您遇到此类错误的原因。

  

您可以尝试按照此处的解决方案   issue by   覆盖onResumeFragments()而不是OnPostResume

     
      
  • 如果扩展活动(对于API 11 +),则覆盖OnPostResume

  •   
  • 如果您扩展FragmentActivity,请覆盖onResumeFragments

  •   
     

有关更多信息,请查看这些相关的主题。