Android: переключение между действиями

#android

#Android

Вопрос:

Я пытаюсь разработать аудиоплеер.

В моем первом действии есть список mp3-файлов с моей SD-карты, и я могу выбрать некоторые из них и поместить их в ArrayList. У меня есть кнопка (Добавить в список воспроизведения), и когда я нажимаю на нее, запускается новое действие, в котором я беру ArrayList, там я создаю свой проигрыватель, проигрываю музыку и т.д. Но… когда я нажимаю кнопку «Назад» на устройстве (вы знаете, это выглядит как стрелка, обведенная полукругом), я возвращаюсь к своему первому действию, но музыка не останавливается, и я могу снова выбирать песни, и если я нажимаю кнопку «Добавить в список воспроизведения», приложение воспроизводит две песни одновременно (мою первую и эту вторую).

Как я могу с этим справиться? (Я хочу, когда я вернусь, выбрать или отменить выбор некоторых треков, а затем, когда я нажму кнопку (Добавить в список воспроизведения), воспроизвести мой новый список).

Я начинаю свое второе действие подобным образом:

 Intent intent = new Intent (Chooser.this, Player.class);
Bundle b = new Bundle();    
b.putStringArrayList("key", plist);     
b.putStringArrayList("pos", po);           
intent.putExtras(b);
startActivity(intent);  
  

Я не хочу, чтобы мой проигрыватель останавливался, просто я хочу добавить или удалить песни из моего списка воспроизведения.

Комментарии:

1. Тим — пожалуйста, не используйте ответы для сообщения обновлений или дополнительных вопросов другим пользователям. Либо обновите свой вопрос, либо (когда вы наберете необходимое количество повторений) добавьте комментарий.

Ответ №1:

Вы хотите реализовать один из методов жизненного цикла Android во втором Activity и указать ему остановить MediaPlayer .

Те, которые вас могут заинтересовать, это onPause() , onStop() и onDestroy() .

Комментарии:

1. Да, спасибо вам большое, матч, не могли бы вы сказать мне, где я могу объявить эту глобальную переменную? И, кроме того, я не хочу, чтобы мой проигрыватель останавливался, просто я хочу добавлять или удалять песни из моего списка воспроизведения…

Ответ №2:

Вы можете использовать глобальную переменную для поддержания состояния «воспроизводится». Если вы обнаружите, что пользователь пытается воспроизвести новую песню, а isPlaying переменная равна true , остановите проигрыватель перед запуском новой песни.