의 onDestroy()가 호출되지 않았습니다. 일부 SharedPreferences를 초기 값으로 설정하려고합니다. 약 1 개월 전쯤에 이것이 효과가있었습니다. 따라서 사용자가 홈 버튼 옆에있는 버튼을 클릭하여 응용 프로그램을 종료하고 그것을 닫을 때 (다른 방법을 알지 못하는 경우) onDestroy()가 호출되고 값이 저장되었습니다. 앱이 완전히 닫힙니다.활동의 onDestroy() 메소드에서 앱의 하드 중지시
왜 이것이 더 이상 작동하지 않거나 해결할 수없는 이유가 있습니까?
감사합니다.
public void onDestroy() {
super.onDestroy();
if(isFinishing()) {
SharedPreferences gpsPref = getSharedPreferences(getString(R.string.preferences_no_gps), Context.MODE_PRIVATE);
SharedPreferences.Editor editorGps = gpsPref.edit();
editorGps.putString(getString(R.string.saved_no_gps), "0");
editorGps.commit();
SharedPreferences visibilityPref = getSharedPreferences(getString(R.string.preferences_visibility), Context.MODE_PRIVATE);
SharedPreferences.Editor editorVisibility = visibilityPref.edit();
editorVisibility.putString(getString(R.string.saved_visibility), "123");
editorVisibility.commit();
}
}
if 절에 코드를 넣어도 아무런 차이가 없습니다.
super.onDestroy() 위에 코드를 이동하려고 시도하십시오 – raxelsson
"그래서 사용자가 앱을 종료 할 때"- 일반적으로 사용자는 Android에서 앱을 종료하지 않습니다. 'onDestroy()'를 호출 할 필요가 없으므로 모든 접근 방식에 결함이 있습니다. 그러나 특정 동작에 대한 자세한 내용을 보려면 "사용자가 응용 프로그램을 종료합니다"라는 의미를 자세히 설명해야합니다. – CommonsWare
은 내가 무엇을 의미 하는지를 설명하려고했습니다.) – rudi