Запуск службы и ссылки на объекты - PullRequest
0 голосов
/ 17 декабря 2018

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

startService(new Intent(this,Client.class));

на моем MainActivity.Теперь я хочу ссылочный объект из Client.class в MainActivity.Моя проблема в том, что нет конструктора.Я не хочу делать это статично ...

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Это преднамеренно, вы не получите прямую ссылку на ваш сервис.Платформа Android обеспечивает автоматический запуск и остановку ваших служб.То же самое касается деятельности.Если вам необходимо выполнить какие-либо действия с Сервисом, рекомендуем вам отправлять намерения.Если служба предоставляет данные для кого-то, чтобы потреблять, вы можете использовать приемник вещания.Если вы хотите, чтобы фактический объект выполнял методы напрямую, вам нужно сделать службу привязанной и получить объект связывания, который будет выполнять вызовы от вашего имени.Это немного больше работы, но ничего сложного.

Вот ссылка на документацию по Android для Bound Services .

0 голосов
/ 17 декабря 2018

просто используйте сеттер.Вы можете вызвать установщик в переопределенном методе onConnectionEstablished, предоставляемом интерфейсом ServiceConnection.

Прочтите здесь «Привязка к услуге»: https://developer.android.com/guide/components/bound-services

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...