2017-06-23 5 views
2

activity.isDestroyed()がAPI 17で追加されました。それ以前は存在しませんでした。プレ17デバイスの場合、アクティビティが破壊されたかどうかをチェックする方法。現在のドキュメントでは、activity.isFinishing()は、アクティビティが終了している間はtrueを返しますが、アクティビティが破棄された後は何を返すかは示されません。誰がどのようにアクティビティがプリAPI 17を破壊されているかどうかを確認する方法を知っていますか?みんなおいでよ!あなたは昔の昔、破壊された活動を確認するために何をしましたか? FYI、私が知る必要がある理由は、FragmentManagerはトランザクション中にもステートレスなロスを許してもクラッシュすることです。activity.isDestroyed()pre APIレベル17を確認するにはどうすればよいですか?

答えて

0

後半少し、私は推測するが、私はあなたが

if (getActivity().isChangingConfigurations() || getActivity().isFinishing()) { 
    //activity is being destroyed, no sense to make a transaction 
} 

isChangingConfigurations()も最小APIレベル11が必要ですが、私は推測、あなたが持つデバイスをサポートする必要はありませんようなものを使用することができると思います下のAPI

それとも、インスタンスを保存した後、あなたは状態ロスせずに取引をすることはできませんonSaveInstanceState

private boolean instanceStateSaved; 

... 

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    instanceStateSaved = true; 
    super.onSaveInstanceState(outState); 
} 

でinstanceStateSavedフラグを設定することができますあなたはDialogFragmentを表示することはできません。あなたは確認できます

if (instanceStateSaved) {...} 
関連する問題