一些 Android 手机用户倾向于将 “不保留 Activity ” 标志设置为 true。这会在 Activity 中触发 Intent 并在 onActivityResult 中监听结果时造成一些麻烦。 particular bug 中解释了类似的情况在 Facebook 上。
据 Faebook 的工程师说,
This ONLY happens when developer options : "do not keep activities" is set to ON. This means, Android will immediately destroy your activity as soon as you leave it. Even though in normal situation this option should not be set, correct way to develop is with this option set to true so to simulate a POSSIBLE scenario where your activity gets destroyed.
应该如何处理这种情况?
最佳答案
你需要 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");
}
关于android - 当设备将 "do not keep activities"设置为 ON 时如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17808068/