Size: a a a

StartAndroid Ru Chat

2020 September 15

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Ещё можно thread join поставить после thread start, но это просто как вариант
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Как только вы выходите из метода onReceive, а это сразу после старта thread, broadcast receiver считается завершенным и, судя по моим тестам, он отменяет все что в нем было запущено в виде thread'ов и т.п.
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Vladyslav Lozytskyi
Как только вы выходите из метода onReceive, а это сразу после старта thread, broadcast receiver считается завершенным и, судя по моим тестам, он отменяет все что в нем было запущено в виде thread'ов и т.п.
метод goasync дает же какое-то время на выполнение потоков внутри. секунд 30-60, уже не помню
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Я сам когда-то пытался такое сделать и напоролся на эти же грабли, в итоге решил как положено - через запуск сервиса
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Чего-то метод goasync не работает) опять же, только сервисы меня спасли)
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Vladyslav Lozytskyi
Я сам когда-то пытался такое сделать и напоролся на эти же грабли, в итоге решил как положено - через запуск сервиса
но тут да. скорее мне нужен какой-то сервис, потому что при закрытии апки оно почему-то не срабатывает, хотя мне казалось, что когда-то у меня работало. а можно пример с сервисом?
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Vladyslav Lozytskyi
Чего-то метод goasync не работает) опять же, только сервисы меня спасли)
он работает, пока апку не закроешь
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Dyno Chris is...
он работает, пока апку не закроешь
И даже если оно бы работало - 10 секунд на весь броадкаст даётся
источник

DM

Dem Mort in StartAndroid Ru Chat
Dyno Chris is...
он работает, пока апку не закроешь
foreground service
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Defining the receiver with android:process=":remote"

Как вариант
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Dyno Chris is...
он работает, пока апку не закроешь
А на каком дроида используете ?
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Vladyslav Lozytskyi
А на каком дроида используете ?
api 23, 24 пробовал
источник

VL

Vladyslav Lozytskyi in StartAndroid Ru Chat
Там просто с 9ки тоже это дело ужесточили, в зависимости от частоты использования приложения такие вот alarms , просто откладываются до 2х часов в худшем случае
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Vladyslav Lozytskyi
Defining the receiver with android:process=":remote"

Как вариант
не помогло
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Vladyslav Lozytskyi
Я сам когда-то пытался такое сделать и напоролся на эти же грабли, в итоге решил как положено - через запуск сервиса
через запуск серсива это вместо броадкаста сервис сделать?
источник

A

Alex in StartAndroid Ru Chat
Приветствую. Имеется вопрос. Есть класс, в котором порядка 20 методов. Методы данного класса вызываются почти во всех других классах приложения. Хочу вынести данный класс из меин потока. Как это правильно реализовать? Если унаследовать класс от потока а потом в метод ран запихнуть все остальные методы, будет ли все работать или из-за такой вложенности методов будут проблемы ? И будет ли вообще все работать, ибо большинство методов принимают данные.
источник

AD

Andrei Danilenko in StartAndroid Ru Chat
простите чивооо? вынести класс из потока? это как?)
источник

V

Vladushka in StartAndroid Ru Chat
ээ, во первых, расскажи, что за методы, может им и не нужно работать в других потоках?
во вторых, похоже ты не совсем понимаешь, что такое поток
источник

SP

Sergey Panov in StartAndroid Ru Chat
Alex
Приветствую. Имеется вопрос. Есть класс, в котором порядка 20 методов. Методы данного класса вызываются почти во всех других классах приложения. Хочу вынести данный класс из меин потока. Как это правильно реализовать? Если унаследовать класс от потока а потом в метод ран запихнуть все остальные методы, будет ли все работать или из-за такой вложенности методов будут проблемы ? И будет ли вообще все работать, ибо большинство методов принимают данные.
"Хочу вынести данный класс из меин потока. Как это правильно реализовать? "
1. Передавать в параметры каждого метода коллбэк, В каждом методе стартовать поток или использовать другие способы перенести работу в другой поток и возвращать результат из потока в коллбэк.
2. Вызывать методы не из мэин потока на стороне вызывающего класса.
3. Использовать куртины и suspend функции.
источник

A

Andrew in StartAndroid Ru Chat
Alex
Приветствую. Имеется вопрос. Есть класс, в котором порядка 20 методов. Методы данного класса вызываются почти во всех других классах приложения. Хочу вынести данный класс из меин потока. Как это правильно реализовать? Если унаследовать класс от потока а потом в метод ран запихнуть все остальные методы, будет ли все работать или из-за такой вложенности методов будут проблемы ? И будет ли вообще все работать, ибо большинство методов принимают данные.
можна сделать так чтобы все эти методы возврощали observable который всегда запускается в выбраном потоке. Подпили под свою архитектуру но принцип должен быть таким
источник