Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как я могу продолжать свою текущую звуковую задачу?

Автор вопроса: PzannoОтветов: 1

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

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

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

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

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

androidandroid-intentaudio

Ответы

Ответ 1 · рейтинг 2 · Jon Willis

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы