Разве вы не должны делать это вместо службы ?Разве это не будет проще?Затем вы можете остановить службу, когда та или иная активность приостанавливается или завершается (в зависимости от того, какое из них вы хотите).Вы также можете проверить, запущено ли оно, и остановить его, когда захотите.
Или извините, если я не понял вашего вопроса.Я вижу, у вас есть много точек здесь, на SO, так что, возможно, я просто запутался.
--- отредактировано после вашего третьего комментария:
- A НамерениеB : отправить
Intent
с именем музыки. - B onCreate : получить имя музыки из
Intent
.Установите флаг x
на true
. - B onResume : начать воспроизведение музыки, если с A или возобновление с последней известной позиции при возобновлении с B.
- B кнопка возврата : переопределить и установить
x
на false
.На самом деле, вы бы охватили все точки, где ваша деятельность finish
es. - B onPause : остановка музыки
if(x)
, сохранение последней известной позиции музыки в памяти и остановка обслуживания.
Здесь я предполагаю, что вы хотите, чтобы музыка продолжала воспроизводиться даже после возврата к A (это то, что вы сказали, в этом проблема), а не только к B. Установка x важна на ранней стадии, IMO,потому что, если появляется какая-либо другая активность (телефонный звонок, что-нибудь), действие немедленно прекратит воспроизведение музыки (пользователь ожидает) в onPause.Согласно правилам Android, вы знаете, что вернетесь к A, только если пользователь нажмет кнопку «Назад» или вы закончите () свою деятельность.Вы можете выполнить точную настройку, проверяя положение действий в вашей задаче (не помню, как это сделать прямо сейчас).
Лично я бы не хотел возобновлять воспроизведение на A (скажем, B->call-> home-> A, применяя шаг 3 к A тоже), потому что там происходит нарушение в логическом потоке вещей.
CAVEAT : Iубедится, что другого пути нет.Я хотел бы попытаться выяснить, можете ли вы 1) заранее знать, какие действия будут отображаться .2) заставить любой музыкальный сервис подключиться к вашей задаче (это вообще возможно?).
В любом случае, просто используйте мое решение, если вы не можете найти умный способ сделать это.Это было бы мое предложение.Удачи.