На радостях что сервис теперь может автоматически стартовать после перезагрузки системы (спасибо Ефимову Андрею), решил что пора научится получать координаты GPS через сервис.
Вариант 1.
Как-то я уже пробовал это сделать прицепив к dfm TLocationSensor, но был крах.
Сегодня я прочитал вот такую статейку где говорится как раз об этом - крошится из-за того что в System.Android.Sensors используется Activity, которое null (у нас же сервис, а не простое приложение)
и предлагается решение в виде внесения изменение в System.Android.Sensors и System.Sensors.
Я внес указанные изменения (сами файлы в patch.zip прикрепил к сообщению), скачал их Демо пример отсюда, положил вышеуказанные файлы в папку patch, но при компиляции выдает 3 ошибки вида:
[DCC Error] System.SensorsDD.pas(805): E2010 Incompatible types: 'TSensorManager.TSensorManagerType' and 'class of TPlatformSensorManager'
[DCC Error] System.SensorsDD.pas(1144): E2361 Cannot access private symbol TGeocoder.GeocoderImplementer
[DCC Error] System.SensorsDD.pas(1449): E2362 Cannot access protected symbol TPlatformGpsStatus.GetGpsStatusImplementer
Вопрос
Rusland
На радостях что сервис теперь может автоматически стартовать после перезагрузки системы (спасибо Ефимову Андрею), решил что пора научится получать координаты GPS через сервис.
Вариант 1.
Как-то я уже пробовал это сделать прицепив к dfm TLocationSensor, но был крах.
Сегодня я прочитал вот такую статейку где говорится как раз об этом - крошится из-за того что в System.Android.Sensors используется Activity, которое null (у нас же сервис, а не простое приложение)
и предлагается решение в виде внесения изменение в System.Android.Sensors и System.Sensors.
Я внес указанные изменения (сами файлы в patch.zip прикрепил к сообщению), скачал их Демо пример отсюда, положил вышеуказанные файлы в папку patch, но при компиляции выдает 3 ошибки вида:
на строки соответственно
Попробуйте кто-нибудь скомпилировать у себя пожалуйста. Пример должен быть рабочий по идее...
тогда я решил действовать по другому:
Вариант 2.
Я вспомнил что можно обойтись без TLocationSensor и использовать LocationListener.
В сервисе сделал так:
После старта приложения, через несколько секунд оно морозится и система спрашивает "Подождать?".
Расстановка breakpoint-ов мне не помогла, ошибка случается раньше Segment fault 11.
Пример в архиве ASARservRepair2.zip прикрепляю.
Посмотрите пожалуйста в чем может быть проблема?
ASARservRepair2.zip
patch.zip
Изменено пользователем RuslandСсылка на комментарий
28 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.