Урок 97. Service. Биндинг. ServiceConnection

Обсуждение уроков
Аватара пользователя
brulik67
Сообщения: 16
Зарегистрирован: 17 мар 2013, 12:18

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение brulik67 » 05 июн 2013, 15:08

Жёлтое подчёркивание ушло, но проблема не исчезла, я запускаю приложения на реальном устройстве, и процессы эклипс показывает только те, которые я сам запускаю из него, но не те, что уже запущены вот фото

Изображение

и когда нажимаю на кнопку Start, приложение закрывается с ошибкой, а в LogCat вываливается EXCEPTION

Изображение

и ещё, я когда устанавливаю приложение в котором находится только сервис, то оно нормально устанавливается, без ошибок, но процесс не запускается и в Devices его не видно.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение Mikhail_dev » 05 июн 2013, 15:47

Блин, могу сейчас только быстро и поверхностно сказать. Попробуй android:exported в true поставить.

Аватара пользователя
brulik67
Сообщения: 16
Зарегистрирован: 17 мар 2013, 12:18

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение brulik67 » 05 июн 2013, 16:34

да, помогло, спасибо, нужно было сразу мне просто вот тут почитать http://developer.android.com/guide/topi ... ement.html

max546
Сообщения: 8
Зарегистрирован: 13 янв 2013, 21:41

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение max546 » 29 авг 2013, 20:31

Здравствуйте, пытаюсь сделать bindService НЕ из главной активити, возвращает false, как код переношу в главное активити все нормально работает. Подскажите пожалуйста почему так может происходить, и как решить -эту задачу
Спасибо

UPD:
"НЕ главное активити", реализовано в виде вкладки ТАБа главного активити

evgenius_b
Сообщения: 10
Зарегистрирован: 23 авг 2013, 13:26

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение evgenius_b » 30 авг 2013, 12:13

brulik67 писал(а):да, помогло, спасибо, нужно было сразу мне просто вот тут почитать http://developer.android.com/guide/topi ... ement.html
Та же беда с невозможностью стартовать сервис из-за отсутствия Permissions! Только что почитал и само собой не въехал, на какие кнопки нажимать. Пожалуйста, ткните носом!
android:exported="true|false" не помогли :(

rePlay
Сообщения: 7
Зарегистрирован: 11 июл 2015, 17:54

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение rePlay » 09 авг 2015, 17:23

Здравствуйте. Подскажите, зачем сделан такой lifecycle: http://developer.android.com/intl/ru/gu ... #Lifecycle ?
Всё прочитал про service оттуда (кроме aidl), всё понятно, кроме этого жизненного цикла. Не пойму, зачем его таким сделали.
Точнее не понятен смысл связки OnUnbind(return true) - OnRebind. Т.е. в каких случаях может понадобиться обработать OnRebind?
Пока писал вопрос, стало кое-что проясняться. Есть предположение, что это сделано для того, чтобы в каких-то целях использовать информацию о том, подключен ли вообще кто-нибудь или нет к сервису. Например, сервис может сам себя остановить, если в течении, например, 30 минут, к нему ни один клиент не подключался.

Кстати, в уроке не упомянуто следующее:
Если сервис запущен методом startService (сервис принимает форму started), а также к нему подключены клиенты, и если при этом вызвать stopService, то сервис не уничтожится, потому что на нем висят клиенты. Вместо этого сервис примет форму bound, и как всем известно, он будет работать до тех пор, пока от него не отключатся все клиенты (как только последний клиент отключится, то сервис тоже уничтожится). При этом, в этом случае, после того, как сервис принял форму bound, ему можно вернуть исходную форму(started), если какой-либо клиент вызовет startService (этот вызов устанавливает сервису форму started) до того, как все клиенты отключатся от сервиса.

MiG_Kharkov
Сообщения: 4
Зарегистрирован: 28 сен 2015, 11:53

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение MiG_Kharkov » 04 окт 2015, 09:30

Может будет полезно, столкнулся с проблемой под Android Studio не смог запустить урок. Было запущено 2 экземпляра Android Studio (под Ubuntu) они подключены к одному эмулятору. Дальше сервис запускался и выдавал сообщение что порядок.
Однако попытки запустить программу выдавали при любом нажатии ошибку, что сервси с таким именем не находится
Service Intent must be explicit: Intent { act=ua.com.webtuning.servicebindserver.MyService }
Однако, когда все запустил не на эмуляторе, а телефоне все отработало без ошибок.
Так что рекомендую для этого задания использовать телефон.
И может есть мысли или рекомендации, как правильно запускать сервис и приложение под Android Studio, что бы они видели друг друга?

Kamin
Сообщения: 2
Зарегистрирован: 26 сен 2016, 18:11

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение Kamin » 30 сен 2016, 16:57

при ошибке
Service Intent must be explicit: Intent { act=ua.com.webtuning.servicebindserver.MyService }

сразу за
intent = new Intent("ru.startandroid.develop.p0972servicebindserver.MyService");
добавляйте
intent.setPackage("ru.startandroid.develop.p0972servicebindserver");

noyfeld
Сообщения: 1
Зарегистрирован: 27 фев 2017, 18:29

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение noyfeld » 27 фев 2017, 18:57

Привет всем!
В уроке сказано , что нужно создать service в отдельном проекте !
Я создал другой модуль в этом же проекте ( я так понимаю - это как будто другой проект ) и создал в нем MyService.java , прописал его в манифесте( в этом же модуле ) и присвоил ему intent filter!
Но при попытке установки этого ( p097_servicebindserver ) приложения на эмулятор выскакивает следующее уведомление .

Изображение

Android api 24 (7.0)

Возможно ли вообще устанавливать приложения без интерфейса ( сервисы ) или это проблема в новой версии андроид ?

Stixxx
Сообщения: 2
Зарегистрирован: 30 окт 2016, 23:01

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение Stixxx » 22 июн 2017, 22:05

никак не получается запустить сервис,

вроде все прописал,
в предыдущем уроке тоже не получалось
Вложения
Screenshot_2.jpg
Screenshot_2.jpg (151.52 КБ) 7654 просмотра
Screenshot_1.jpg
Screenshot_1.jpg (363.87 КБ) 7654 просмотра

shustr1k
Сообщения: 1
Зарегистрирован: 05 фев 2018, 20:50

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение shustr1k » 05 фев 2018, 21:05

Привет всем. Задался таким вопрос. Имеется виджет и служба. Всё это с горем работает. В чем суть, при добавлении виджета(при перезагрузки телефона) стартует служба. В ней метод который проверяет подключена ли служба к MQTT серверу.Подключились. Я в виджете получаю сообщения из топика. Но вот вопрос при нажатии кнопки на виджете я пытаюсь вызвать метод в службе который должен запостить в сообщение в топик делаю так (MyService myservice = new MyService(); myservice.myMethod();) в итоге происходит ошибка и приложение крашиться. Подскажите пожалуйста как правильно сделать? Уж больно тяжеловато. Пытаюсь во всем разобраться, но что то не выходит. Пересмотрел много видео про службу, и честно говоря не могу понять как же она должна работать. Хочеться один раз ее запустить и чтоб она периодически отправляла текст в виджет и посылать с виджета по нажатию кнопки сообщение в топик. В общем помогите если можете. Запутался во всем.

reno4
Сообщения: 1
Зарегистрирован: 04 окт 2020, 20:14

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение reno4 » 04 окт 2020, 20:23

Если есть основное приложение MainApp, приложение-плагин PlApp и сервис DBService, объявленный в пакете основного,
то как лучше обеспечить доступ обоим приложениям к БД:
1) написать синглтон в основном приложении, которое будет получать данные из БД через синглтон, а в сервисе реализовать вызов, позволяющий запрашивать основное приложение, и из плагина обращаться к этому вызову сервиса, и все это через AIDL и, наверное, Callback;
2) реализовать все вызовы к БД в сервисе и обращаться через AIDL из обоих приложений к вызовам сервиса, получая из него все данные;
3) еще какой-то способ (какой)?

ostropik
Сообщения: 3
Зарегистрирован: 07 мар 2021, 12:54

Re: Урок 97. Service. Биндинг. ServiceConnection

Сообщение ostropik » 10 мар 2021, 22:46

Все сохраняем, инсталлим сервис и запускаем приложение.
Инсталим для тех кто без опыта, это какие действия? :?:

Ответить