-
Постов
851 -
Зарегистрирован
-
Победитель дней
129
Весь контент Andrey Efimov
-
Итак, я добился автозапуска сервиса! Всё оказалось очень даже банально... Как сделать (вкратце): 1) Создаём сервис, собираем его 2) Создаём приложение, добавляем туда сервис, собираем приложение 3) Далее генерим "classes.dex" НЕ на основе файла по умолчанию, а на основе файла "classes.dex" из приложения (второй пункт) 4) Полученный файл будет меньше по размеру (пока не понял почему так происходит), его добавляем в приложение, через Deployment Manager и снимаем галочку с файла "classes.dex", который установлен по умолчанию Т.е. мы склеим наш BroadcastReceiver с файлом, в котором уже упомянут Сервис. До этого, как я понимаю, склеивание происходило с файлом, в котором не был упомянут сервис или как-то так. 5) Профит. (Проверено!) В ближайшие дни (постараюсь), я опубликую две новые статьи про автозапуск приложения и сервиса. По поводу вопросов: 1) Правила про отдельную папку и имя сервиса указаны в документации 1.1) Про папку, да все файлы перемешаются и ошибок не избежать, да и не правильно это (в общем случае, плохой тон), городить всё в одну папку, потом сами запутаетесь 1.2) Имя, не знаю, что будет, но не зря это имя зарезервировано. Проверять не хочу)) 2) Про monitor.bat полно информации в интернете, воспользуйтесь поиском. По поводу расширения статьи. Я не буду её расширять, специально опустил все эти моменты, чтобы просто показать, как создать самый простой сервис в Студии. В след. статьях обязательно рассмотрю все эти вопросы. АП (13:40). Только сейчас заметил, что вы идёте по такому же пути Но у меня служба стартанула вообще без проблем
-
Ну обычный автозапуск приложения у меня (тьфу-тьфу-тьфу) работает пока, а вот сделать такой автозапуск для сервиса мне пока не удалось, где-то косячу видимо, сегодня собирался ещё посмотреть эту тему, если время будет... Пока с автозапуском сервиса у меня такие дела (это просто эксперименты): Попытка №1: Сервис - подсовываем Манифест + клеим classes Приложение - стандартный Манивест + стандартный classes Результат: Не ловит событие перезагрузки устройства, само приложение работает как надо. Попытка №2: Сервис - стандартный Манивест + клеим classes Приложение - подсовываем Манифест + стандартный classes Результат: Ошибка "Приложение завершилось", т.е. событие ловит, но сервис/приложение завершается ошибкой Попытка №3: Сервис - стандартный Манивест + стандартный classes Приложение - подсовываем Манифест + клеим classes Результат: Сервис вообще не запускается, даже просто из приложения, валится ошибкой. p.s. баги или ещё что... только опубликовал статью про создание простейшего сервиса, как объявился первый человек, у которого сервис не запускается...
-
[Статья][Android] Создание простейшего Сервиса (службы)
Andrey Efimov опубликовал тема в Статьи и заметки
Ссылка: http://delphifmandroid.blogspot.ru/2016/01/android-service.html Автор: Андрей Ефимов Описание: [Android Service] Создание простейшего Сервиса (службы) -
Это крендец... В общем, мучил среду и телефон весь вечер. Итог: сначала удалось запустить свой код, потом пересобрал весь проект из статьи и он тоже заработал. Т.е. я по сути не внёс никаких изменений. В проекте из статьи: 1) сбросил Deployment на дефолтные настройки, там было много лишнего... после чего добавил пересобранный classes.dex. 2) в Project Manager удалил файл AndroidManifest.template.xml, не знаю, за чем его туда добавил автор... всё, компилим проект на устройстве и всё работает как надо... Мой проект: Не содержал в себе кучи мусора + код я перепроверял раз 100 + пересобирал classes.dex раз 20 точно. В своём проекте ничего не изменял, просто в очередной раз всё пересобрал и попробовал запустить... Ярослав, не знаю в чём проблема... только вы там сможете разобраться... Сейчас, ещё раз соберу проект из статьи, вообще ничего не трогая и посмотрю, запустится или нет... И заодно проверю автозапуск для сервиса АПДЕЙТ - 24.01.16 1:20 МСК Собрал проект из статьи, не внося изменений вообще, затронут только bat файл, в нем обновлены пути. Итог: проект не работает и падает с той же ошибкой... Сейчас попробую выяснить, что на него так влияет... 1:24 - Обнаружил, что среда подключила второй classes.dex, ок сейчас проверим... 1:30 - Проект отлично заработал... В общем, моего ума не хватает, чтобы понять, в чём было дело... Могу только сказать, что все особенности, типа второго classes.dex я перепроверял раз 100. Более того, я свой проект писал вообще не по статье и он ведь тоже почему-то не работал... Какие-то чудеса... С сервисом не прокатывает автозапуск, также вываливается с ошибкой... ап.24.01.16 15:25 - Сервис пока так и не удаётся запустить
-
Пока пытался отловить через monitor.bat, но он у меня не успевает найти устройство после перезагрузки. Где ещё лучше посмотреть? Сегодня уже точно не смогу, а завтра попытаюсь хоть какие-то логи выудить. ап. 23.01.16. Подключение по USB происходит только после отрабатывания ресейвера... ап.2. Попробовал с автозапуском сервиса, тоже самое, ошибка и всё... Не пойму, то ли я где-то в склейках что-то упускаю, то ли это ошибка в FMX.
-
Да, проверил у себя. Такая же фигня, только я даже не вижу программу, мне просто выскакивает сообщение, что приложение завершилось. Пока несколько предположений, либо я где-то что-то забыл, либо ОС выгружает приложение из-за потребляемой памяти, либо что-то ещё... Нужно попробовать тоже самое с сервисом.
-
Предлагаю Вам оставлять в этой теме предложения (темы) для статей/заметок. Думаю, пригодится. В первую очередь, постараюсь сам писать статьи/заметки по мере возможностей для Андроида по вашим темам. А вообще, любой может попробовать свои силы. Правила для тех, кто предлагает тему (ы): Конкретизируйте тему, не надо писать «Как работать с графикой в Андроид», такие сообщения будут просто удаляться или оставаться без ответа, т.к. тема очень обширная. Несколько тем указывайте списком (ниже есть пример) Старайтесь не повторяться с темами, которые уже предложены Если тема уже предложена, то не надо повторно писать запрос на неё, просто нажмите "Нравится" и всё... В случаях, когда статья на тему уже есть, в ответном сообщении будет указываться ссылка на статью. Правила для тех, кто пишет статью (и): Старайтесь не отклоняться от темы, которую выбрали для статьи Старайтесь разжёвывать тему максимально, читать статью будут не только знающие люди, но и начинающие. После написания статьи/заметки, оставляем ссылку на неё в этом разделе "Статьи и заметки" Пример запроса: [по желанию, одно-два сопроводительных предложения, но не более] Темы: Как работать с SD-картой из приложения Как написать приложение с автозапуском после рестарта системы Желаемые ОС: Android, Windows Какие-либо обсуждения, в этой теме запрещены! p.s. Думаю, Ярослав, будет не против
-
Что за странное предположение... Indy поддерживает редиректы в полной мере. А переадресация с www на без www или наоборот - это и есть обычный 301 редирект. Я объяснил в чём проблема. Сервер неправильно отдаёт состояние, вместо кода 200 идёт 404, Indy похоже просто не рассчитан на такую ситуацию, максимум, чего мне удалось добиться, это убрать выскакивающую табличку с 404 ошибкой, но код страницы всё равно не подгружается. Возможно, у кого то будут ещё идеи...
-
Как вы смотрите ошибку в браузере? В каждом браузере есть утилиты для отладки/разработки сайтов, вот через неё я и смотрел ответ сервера... Какой браузер используете? Если в нём ответ 200, то пропишите его в юзер-агенте и проверьте. Проверил в последнем Фаерфоксе и Опере 12.17, везде 404 Not Found, сервер неправильно настроили... Это уже и не важно, сейчас надо понять как заставить Indy грузить контент несмотря на ошибку.
-
Для начала, данный вопрос уже не один раз поднимался на форуме, научитесь пользоваться поиском. Например, вбейте слово "размер" и нажмите кнопку "Искать". Вот официальный ответ на этот вопрос "Можно ли уменьшить размер приложения для андроида?"
-
Из моего опыта: На скорость также влияет количество подключаемых юнитов, т.е. иногда бывает так, что вы кинули компонент на форму (среда автоматом подключает необходимые юниты), а потом передумали и удалили его, но среда не почистила список юнитов. Я лично наблюдал такую ситуацию, приложение тоже долго грузилось, когда вручную почистил список юнитов, всё встало на свои места.
-
Вам необходимо подписать приложение на широковещательные сообщения системы. Раздел на форуме: Широковещательные сообщения (Broadcast) Официальная документация: BroadcastReceiver Это если речь идёт про Андроид. p.s. Пожалуйста, прочитайте правила форума. Вкратце: Не надо плодить кучу тем и один вопрос-одна тема.
-
Пожалуйста, научитесь пользоваться форумом и справкой, а также не забывайте про примеры, идущие вместе со студией. Вот вам для начала Сервис(служба) Остальное есть в моей подписи.