0

내 앱이 닫히면 서비스에서 sharedpreference를 변경해야합니다. 기본적으로 앱이 실행중인 동안 앱이 강제 종료 (최근 앱 목록에서 스 와이프)되었는지 확인하는 것입니다. 그러나 공유 선호도가 진행되지 않는 것 같습니까? 이 활동/구성 요소가 닫히고 서비스가 앱에서 마지막으로 닫히면 SharedPreferences를 사용할 수 없기 때문일 수 있습니다.서비스에서 SharedPreferences를 onTaskRemoved에서 변경하기

@Override 
    public void onTaskRemoved(Intent rootIntent) { 
     SharedPreferences sharedPreferences = (SharedPreferences) getApplicationContext().getSharedPreferences("SkiCompanionPreferences", Activity.MODE_PRIVATE); 
     SharedPreferences.Editor editor; 
     editor = sharedPreferences.edit(); 
     editor.putBoolean("recording", false).commit(); 


     super.onTaskRemoved(rootIntent); 
    } 
+0

'apply() '를 –

+0

으로 바꾸어보세요. 작동하지 않았습니다./ –

+0

@ ShaneMonksO'Byrne은 SharedPreferences의 이름에 오타가 없음을 확인합니다. –

답변

1

은 당신이 쓰는나요 안드로이드 : 여기

는 onTask에서 조각입니다 매니페스트에서 서비스에 대한 stopWithTask = "false"를?

+0

문제에 대한 흥미로운 해결책 : 매니페스트에서 android : stopWithTask = "true"를 사용하면 onTaskRemoved가 호출되지 않습니다. 이 문제를 해결하기 위해 android : stopWithTask = "false"로 변경하고 onTaskRemoved()에서 Shared 환경 설정을 변경 한 후에 stopSelf() 행을 추가했습니다. 감사 Eldor –

관련 문제