Я не уверен, что этот код должен делать. Он выдает ошибку, если ваша строка ввода длиннее одного символа, потому что вы закрываете FileWriter внутри цикла, а затем пытаетесь записать его еще раз.
Я интерпретирую ваш вопрос следующим образом: вы «Интересно, почему только последний результат находится в файле. В этом случае это связано с тем, что вы не создали свой FileWriter в режиме добавления. Посмотрите на различные конструкторы, доступные для FileWriter, и используйте тот, который позволяет добавлять файл.
прежде всего удалите это backgroundSoundService.start()
из onCreate и добавьте его в метод onServiceConnected()
вам нужно проверить нулевое значение, прежде чем делать какие-либо вещи, связанные с backgroundSoundService, как показано ниже
@Override
public void onPause() {
super.onPause();
if(backgroundSoundService != null){
backgroundSoundService.pause();
}
}
этот вид нулевой проверки во всем появлении backgroundSoundService