Использование RingtoneManager и ConnectivityManager одновременно с сервисом и без него - PullRequest
0 голосов
/ 11 марта 2020

Для моего примера вы можете изобразить по умолчанию Android AlarmClock с обновленной информацией о погоде. Когда будильник показывает свою активность утром, я хочу получить информацию с сервера о погоде в любой стране. Затем упражнение показывает картинку, например, солнце / облако / дождь и т. Д. c. В то же время должна воспроизводиться песня (веселая / грустная песня зависит от состояния погоды), даже когда активность становится невидимой. Крайне важно, чтобы сетевая активность и звуковой проигрыватель не приводили к сбою приложения / ANR / et c. и звук не останавливается, пока пользователь не скажет ему остановиться (например, перезапустить со звуком дождя после входящего телефонного звонка).

Можете ли вы указать мне правильное направление, чтобы гарантировать это, и какие классы / методы мне следует использовать, пожалуйста? Нужно ли использовать Сервис?

Дополнительная информация:

Как я решил это до сих пор: я просто использую RingtoneManager и play и информацию о погоде, получаемую изнутри действия.

Теперь я волнуюсь: я читал об утечках памяти, выполнении проблем, потому что я работаю с приоритетом переднего плана, и о приложениях, выполняющих разные потоки (источник от 2010 года, см. Принятый ответ: AlarmManager и BroadcastReceiver вместо Service - это плохо? (Тайм-аут) ). Более того, я обнаружил, что иногда вызывается BroadcastReceiver, но не всегда вызывается следующий Activity и его метод onCreate, например, когда одновременно запускаются разные приложения. Я читал о Service и о том, что есть больше, чем только MainThread - например, AsyncTask, который, насколько я знаю, устарел. Любая информация, касающаяся моего вопроса, приветствуется, потому что я начинающий / средний. Заранее спасибо!

...