Верно, в MаinActivity есть viewpager с двумя фрагментами. Каждый из этих фрагментов выполняет свою задачу, но значение скорости должно быть одинаково в обоих из них в любой момент времени, в каком бы из фрагментов мы ее не изменили.
Получается что когда приложение запущено, активити проходит все стадии жизни, включая onDestroy. При свернутом приложении такого не происходит. Вопрос, как отслеживать нажатие кнопки питания при запущенном активити, и не давать ее убивать?
Сделал Foreground Service. При сворачивании приложения он продолжает работать, даже если потом нажать кнопку выключения. А вот если нажать кнопку выключения при запущенном приложении, то и сервис тоже прибивается. Почему так происходит? Какие-то другие механизмы срабатывают?
Ну вообще, для чего нужна будет программа, батарейка не важна, т.к. прога сугубо специфичная, и будет использоваться только в машине, а значит на зарядке. Ну если кому интересно, это будет калькулятор для Р3К (Ралли 3 категории), на подобие Чайника. Для тех кто в курсе конечно что это такое вообще ))))
Я пытался так сделать, вроде все считает и результат выводит, но почему-то сервис иногда зависает, причем через разные промежутки времени, даже когда Activity запущено. Хотя может потому, что я не использовал Foreground Service. Надо попробовать.
Это все я читал, и про жизненный цикл активности знаю. Но почему-то, когда я нажимаю кнопку домой, или кнопку переключения между окнами, в активити отрабатывается метод onDestroy(), и соответственно выполнить то, что я написал, не получается. Сейчас в вопрос добавлю полный листниг тестовой программы.
Поскольку при повторном вызове диалога, в его текстовом поле сохранились предыдущие введенные данные, логично предположить, что фрагмент не был уничтожен. Подскажите, как его уничтожить? Или просто в методе OnResume() обнулять все переменные?
Tiberal: Вот и на одном из реальных устройств выявилась та же проблема. Как только вызываю другое активити методом startActivityForResult, основное убивается. Не понимаю куда копать. Переходить обратно на fialogFragment не хочется, у него гораздо меньше возможностей.
Вот так приходят данные:
byte[] readBuf = (byte[])msg.
String s = new String(readBuf);
Я предполагаю делать так: при каждом вхождении данных проверять, начинаются ли они с $, если да, ищем первое вхождения окончания строки, если находим получаем искомую строку, и таким же образом проверяем оставшиеся данные. Если в конце останется незаконченный кусок, запоминаем его и при следующем вхождении данные добавляем к нему, ну и опять проверяем. Правильно я мыслю?
Проблема в том, что нельзя терять ни куска информации, а из-за того, что она не всегда приходит целыми строками надо как-то в процессе получения все склеивать и разбивать на правильные строки.
Владимир Якушев: Наконец-то получилось передать нужные параметры в Диалог, но теперь возникла другая проблема. После окончания Диалог не удаляется, а скрывается методом Dismiss, и при следующем вызове отображает старое содержимое. Вычитал, что есть метод удаления Диалогового окна removeDialog(); но среда разработки на него почему-то ругается и предлагает создать метод.