Я пытаюсь реорганизовать/перепроектировать приложение для Android. В настоящее время у меня есть один пользовательский интерфейс (Activity 1
), который создает DataThread
. Этот поток отвечает за сетевой ввод-вывод и взаимодействует (предоставляет данные) с помощью пользовательского интерфейса через handler
.Служба Android, взаимодействующая с несколькими действиями
Теперь я хочу добавить еще одно действие (новый экран пользовательского интерфейса с видео) - Activity 2
. Activity 1
по-прежнему является основным видом деятельности. Activity 2
будет вызываться, когда пользователь нажимает кнопку на Activity 1
. Данные Activity 2
также поступают из DataThread
.
Моя идея - поставить логику моего DataThread
в Android Service
(DataService
). Мой вопрос - может больше, чем на активность связывать с моим DataService
в то же время? Есть ли способ сообщить службе предоставить данные только для определенной деятельности?
Любые другие идеи приветствуются?
Заранее благодарен.
Я ищу решение, подобное этому, есть ли какой-либо рабочий пример или ссылка, чтобы получить более подробную информацию об этой реализации, thx – Sam
@Rich Как вам удастся отключить от Сервиса, когда ваше приложение прекратится, если вы связали его в вашем классе приложений? Поскольку Application # onTerminate() никогда не вызывается на производственных устройствах, см. JavaDoc http://developer.android.com/reference/android/app/Application.html –
@SvenJacobs Единственный способ, о котором я могу думать: stopSelf() 'через некоторое время, когда все действия приостановлены. Действия должны сообщать службе свое состояние в этом случае, когда они становятся паузами. Действия никогда не вызывают 'unbindService()', и Служба получает привязку к 'applicationContext' в каждом onResume() для каждой операции. – OneWorld