4

一些安卓手机用户倾向于将“不保留活动”标志设置为真。这会在活动中触发意图并在 onActivityResult 中侦听结果时造成一些麻烦。Facebook的这个特定错误中解释了类似的场景。

据 Faebook 的工程师称,

仅当开发人员选项:“不保留活动”设置为 ON 时才会发生这种情况。这意味着,一旦您离开,Android 将立即销毁您的活动。即使在正常情况下不应设置此选项,正确的开发方法是将此选项设置为 true,以便模拟您的活动被破坏的可能场景。

这种情况应该如何处理?

4

1 回答 1

3

您需要 onSaveInstanceState() 和 onRestoreInstanceState():

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    savedInstanceState.putBoolean("bool", true);
    savedInstanceState.putDouble("double", 1.9);
    savedInstanceState.putInt("int", 1);
    savedInstanceState.putString("string", str);
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    boolean flag = savedInstanceState.getBoolean("boolean");
    double count = savedInstanceState.getDouble("double");
    int size = savedInstanceState.getInt("int");
    String title = savedInstanceState.getString("string");
}
于 2013-07-23T10:55:02.340 回答