当设备“不保持活动”设置为ON时如何处理?

时间:2013-07-23 10:49:55

标签: android android-intent android-activity

一些Android手机用户倾向于将“不要保持活动”标志设置为true。这会导致一些活动触发意图并在onActivityResult中侦听结果时出现问题。 Facebook中的particular bug解释了类似的情况。

Faebook的工程师们说,

  

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

如何处理这种情况?

1 个答案:

答案 0 :(得分: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");
}