Как я могу сохранить текущее аудио задание?

1

У меня возникла конкретная проблема, о которой я бы хотел рассказать. Вот мой код

Intent i = new Intent();
i.setDataAndType(media, mediaType);
startActivity(i);

Это начинает звуковое сопровождение для меня, и оно даже помещает элемент уведомлений в панель уведомлений о том, что это постоянная задача. Однако, если я нажму кнопку "Домой" или "Назад", текущая задача немедленно будет убита для меня. Я был смущен этим поведением.

Я нашел способ держать задачу в следующем: при запуске звуковой активности я перетаскиваю панель уведомлений и нажимаю элемент уведомления (который на самом деле просто показывает мне ту же активность снова), и когда я делаю это, он ведет себя соответственно. Когда я нажимаю кнопку "Домой", она продолжается. Когда я нажимаю кнопку "Назад", она продолжается. По какой-то причине, когда я нажимаю элемент уведомлений, запускается "правильное" намерение.

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

Теги:
audio
android-intent

1 ответ

2
Лучший ответ

Используйте Service. В частности, вы захотите вызвать startForegroundService() в обратном вызове создания/запуска службы.

  • 0
    Спасибо за ответ. Для этой функции уже есть служба (воспроизведение аудио)? Я думаю, что будет, но я не смог найти один. Я знаю, как создать свой собственный, но, похоже, мне придется немного изобретать велосипед, потому что я не просто хочу играть в фоновую музыку, но я также хочу, чтобы элементы управления пользовательским интерфейсом хорошо (IE искать бар, предыдущий, следующий, играть, пауза).
  • 0
    взгляните на android.git.kernel.org/?p=platform/packages/apps/… Это из музыкального плеера, включенного в Vanilla Android.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню