2016-10-25 10 views
0

マイプレイサービスが現れなければならないときGoogleApiAvailabilityが私のアプリをクラッシュ:SupportErrorDialogFragmentは、私は私のプロジェクトで使用さ

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 IllegalStateExceptionを示し、いくつかのコールバックしていることをその表情。

+0

登録するコールバック。 onStopでコールバックの登録を解除する。ライフサイクルの方法でスーパーに電話する。利益。 –

答えて

0

IllegalStateExceptionエラーは、要求された操作で違法または不適切な時間/状態でメソッドが呼び出されたことを意味します。

ここでは、この種のエラーが発生する理由についてcomplete explanationです。

あなたはonResumeFragments()の代わりOnPostResumeをオーバーライド することにより、この issueで解決策を追跡しようとすることができます。

  • 上書きOnPostResume、あなたは(API用11+)の活動を延長する場合

  • 上書きonResumeFragments、あなたはFragmentActivityを拡張する場合。

詳細については、これらの関連スレッドを確認してください。 ONSTARTで

関連する問題