Урок 97. Service. Биндинг. ServiceConnection
Re: Урок 97. Service. Биндинг. ServiceConnection
Жёлтое подчёркивание ушло, но проблема не исчезла, я запускаю приложения на реальном устройстве, и процессы эклипс показывает только те, которые я сам запускаю из него, но не те, что уже запущены вот фото
и когда нажимаю на кнопку Start, приложение закрывается с ошибкой, а в LogCat вываливается EXCEPTION
и ещё, я когда устанавливаю приложение в котором находится только сервис, то оно нормально устанавливается, без ошибок, но процесс не запускается и в Devices его не видно.
и когда нажимаю на кнопку Start, приложение закрывается с ошибкой, а в LogCat вываливается EXCEPTION
и ещё, я когда устанавливаю приложение в котором находится только сервис, то оно нормально устанавливается, без ошибок, но процесс не запускается и в Devices его не видно.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 97. Service. Биндинг. ServiceConnection
Блин, могу сейчас только быстро и поверхностно сказать. Попробуй android:exported в true поставить.
Re: Урок 97. Service. Биндинг. ServiceConnection
да, помогло, спасибо, нужно было сразу мне просто вот тут почитать http://developer.android.com/guide/topi ... ement.html
Re: Урок 97. Service. Биндинг. ServiceConnection
Здравствуйте, пытаюсь сделать bindService НЕ из главной активити, возвращает false, как код переношу в главное активити все нормально работает. Подскажите пожалуйста почему так может происходить, и как решить -эту задачу
Спасибо
UPD:
"НЕ главное активити", реализовано в виде вкладки ТАБа главного активити
Спасибо
UPD:
"НЕ главное активити", реализовано в виде вкладки ТАБа главного активити
-
- Сообщения: 10
- Зарегистрирован: 23 авг 2013, 13:26
Re: Урок 97. Service. Биндинг. ServiceConnection
Та же беда с невозможностью стартовать сервис из-за отсутствия Permissions! Только что почитал и само собой не въехал, на какие кнопки нажимать. Пожалуйста, ткните носом!brulik67 писал(а):да, помогло, спасибо, нужно было сразу мне просто вот тут почитать http://developer.android.com/guide/topi ... ement.html
android:exported="true|false" не помогли
Re: Урок 97. Service. Биндинг. ServiceConnection
Здравствуйте. Подскажите, зачем сделан такой 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) до того, как все клиенты отключатся от сервиса.
Всё прочитал про service оттуда (кроме aidl), всё понятно, кроме этого жизненного цикла. Не пойму, зачем его таким сделали.
Точнее не понятен смысл связки OnUnbind(return true) - OnRebind. Т.е. в каких случаях может понадобиться обработать OnRebind?
Пока писал вопрос, стало кое-что проясняться. Есть предположение, что это сделано для того, чтобы в каких-то целях использовать информацию о том, подключен ли вообще кто-нибудь или нет к сервису. Например, сервис может сам себя остановить, если в течении, например, 30 минут, к нему ни один клиент не подключался.
Кстати, в уроке не упомянуто следующее:
Если сервис запущен методом startService (сервис принимает форму started), а также к нему подключены клиенты, и если при этом вызвать stopService, то сервис не уничтожится, потому что на нем висят клиенты. Вместо этого сервис примет форму bound, и как всем известно, он будет работать до тех пор, пока от него не отключатся все клиенты (как только последний клиент отключится, то сервис тоже уничтожится). При этом, в этом случае, после того, как сервис принял форму bound, ему можно вернуть исходную форму(started), если какой-либо клиент вызовет startService (этот вызов устанавливает сервису форму started) до того, как все клиенты отключатся от сервиса.
-
- Сообщения: 4
- Зарегистрирован: 28 сен 2015, 11:53
Re: Урок 97. Service. Биндинг. ServiceConnection
Может будет полезно, столкнулся с проблемой под Android Studio не смог запустить урок. Было запущено 2 экземпляра Android Studio (под Ubuntu) они подключены к одному эмулятору. Дальше сервис запускался и выдавал сообщение что порядок.
Однако попытки запустить программу выдавали при любом нажатии ошибку, что сервси с таким именем не находится
Service Intent must be explicit: Intent { act=ua.com.webtuning.servicebindserver.MyService }
Однако, когда все запустил не на эмуляторе, а телефоне все отработало без ошибок.
Так что рекомендую для этого задания использовать телефон.
И может есть мысли или рекомендации, как правильно запускать сервис и приложение под Android Studio, что бы они видели друг друга?
Однако попытки запустить программу выдавали при любом нажатии ошибку, что сервси с таким именем не находится
Service Intent must be explicit: Intent { act=ua.com.webtuning.servicebindserver.MyService }
Однако, когда все запустил не на эмуляторе, а телефоне все отработало без ошибок.
Так что рекомендую для этого задания использовать телефон.
И может есть мысли или рекомендации, как правильно запускать сервис и приложение под Android Studio, что бы они видели друг друга?
Re: Урок 97. Service. Биндинг. ServiceConnection
при ошибке
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");
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");
Re: Урок 97. Service. Биндинг. ServiceConnection
Привет всем!
В уроке сказано , что нужно создать service в отдельном проекте !
Я создал другой модуль в этом же проекте ( я так понимаю - это как будто другой проект ) и создал в нем MyService.java , прописал его в манифесте( в этом же модуле ) и присвоил ему intent filter!
Но при попытке установки этого ( p097_servicebindserver ) приложения на эмулятор выскакивает следующее уведомление .
Android api 24 (7.0)
Возможно ли вообще устанавливать приложения без интерфейса ( сервисы ) или это проблема в новой версии андроид ?
В уроке сказано , что нужно создать service в отдельном проекте !
Я создал другой модуль в этом же проекте ( я так понимаю - это как будто другой проект ) и создал в нем MyService.java , прописал его в манифесте( в этом же модуле ) и присвоил ему intent filter!
Но при попытке установки этого ( p097_servicebindserver ) приложения на эмулятор выскакивает следующее уведомление .
Android api 24 (7.0)
Возможно ли вообще устанавливать приложения без интерфейса ( сервисы ) или это проблема в новой версии андроид ?
Re: Урок 97. Service. Биндинг. ServiceConnection
никак не получается запустить сервис,
вроде все прописал,
в предыдущем уроке тоже не получалось
вроде все прописал,
в предыдущем уроке тоже не получалось
- Вложения
-
- Screenshot_2.jpg (151.52 КБ) 9116 просмотров
-
- Screenshot_1.jpg (363.87 КБ) 9116 просмотров
Re: Урок 97. Service. Биндинг. ServiceConnection
Привет всем. Задался таким вопрос. Имеется виджет и служба. Всё это с горем работает. В чем суть, при добавлении виджета(при перезагрузки телефона) стартует служба. В ней метод который проверяет подключена ли служба к MQTT серверу.Подключились. Я в виджете получаю сообщения из топика. Но вот вопрос при нажатии кнопки на виджете я пытаюсь вызвать метод в службе который должен запостить в сообщение в топик делаю так (MyService myservice = new MyService(); myservice.myMethod();) в итоге происходит ошибка и приложение крашиться. Подскажите пожалуйста как правильно сделать? Уж больно тяжеловато. Пытаюсь во всем разобраться, но что то не выходит. Пересмотрел много видео про службу, и честно говоря не могу понять как же она должна работать. Хочеться один раз ее запустить и чтоб она периодически отправляла текст в виджет и посылать с виджета по нажатию кнопки сообщение в топик. В общем помогите если можете. Запутался во всем.
Re: Урок 97. Service. Биндинг. ServiceConnection
Если есть основное приложение MainApp, приложение-плагин PlApp и сервис DBService, объявленный в пакете основного,
то как лучше обеспечить доступ обоим приложениям к БД:
1) написать синглтон в основном приложении, которое будет получать данные из БД через синглтон, а в сервисе реализовать вызов, позволяющий запрашивать основное приложение, и из плагина обращаться к этому вызову сервиса, и все это через AIDL и, наверное, Callback;
2) реализовать все вызовы к БД в сервисе и обращаться через AIDL из обоих приложений к вызовам сервиса, получая из него все данные;
3) еще какой-то способ (какой)?
то как лучше обеспечить доступ обоим приложениям к БД:
1) написать синглтон в основном приложении, которое будет получать данные из БД через синглтон, а в сервисе реализовать вызов, позволяющий запрашивать основное приложение, и из плагина обращаться к этому вызову сервиса, и все это через AIDL и, наверное, Callback;
2) реализовать все вызовы к БД в сервисе и обращаться через AIDL из обоих приложений к вызовам сервиса, получая из него все данные;
3) еще какой-то способ (какой)?
Re: Урок 97. Service. Биндинг. ServiceConnection
Инсталим для тех кто без опыта, это какие действия?Все сохраняем, инсталлим сервис и запускаем приложение.