0

Я хочу создать приложение, которое будет отправлять информацию на сервер о местоположении пользователя каждые 30 минут. Это необходимо для предоставления оповещений о конкретных местоположениях.Как создать службу определения местоположения в Appcelerator Titanium, работающий после перезапуска устройства

Мне нужна такая функциональность для Android/iOS, которая будет работать в фоновом режиме (также если устройство перезагружено). Я нашел несколько статей, посвященных фоновым службам, и я создал фоновый сервис, но после перезагрузки телефона это не сработает.

Возможно ли это с Android и iOS? Как я могу это достичь?

ответ

0

С iOS, no. С Android, да.

Apple приложила все усилия, чтобы ограничить возможности приложений. Вы можете делать некоторые вещи в фоновом режиме в течение длительного периода времени (GPS, воспроизведение звука, Voip и т. Д.), Но после перезагрузки приложение не будет перезапущено, пока пользователь не откроет его снова. Есть исключения из этого. Приложения Voip разрешены для перезапуска после перезагрузки, но Apple не одобряет ваше приложение для App Store, если у вас на самом деле нет места для пользователя в вашем приложении для использования функции Voip. Geofences - возможность, но у меня еще не было опыта с этой функцией. По моему опыту, Apple делает все возможное, чтобы убедиться, что ваше приложение не работает навсегда.

С андроидом, существует большая гибкость и то, что вы предлагаете, вполне возможно. Я привел некоторые важные ссылки ниже, так как большинство этих решений гораздо лучше документированы, чем то, что я могу сделать здесь.

По существу, вам необходимо зарегистрироваться в качестве загрузочного приемника, а затем отправить намерение запустить службу титанового андроида при получении события загрузки. У меня нет опыта в запуске титановой службы, но я уверен, что это простое намерение, которое вам нужно уволить. В любом случае вам понадобится модуль для этого собственного кода. Я прикрепил ссылку на модуль bencoding titanium, который может вам помочь, хотя там могут быть и другие. Возможно, вам даже понадобится написать код самостоятельно.

Samsung известен тем, что останавливает ваше приложение с помощью функции SPCM. Вы можете ознакомиться с ним. Я добавил ссылку обсуждения stackoverflow ниже.

Я не знаю всех ваших системных требований, но, честно говоря, для любого приложения я старался изо всех сил не бегать навсегда. Это повредит время автономной работы ваших пользователей и добавит много сложности. Может быть, вы могли бы просто проверить приложение на координаты GPS, когда оно получит push-уведомление, и сразу же решить, нужно ли уведомлять пользователя? Просто подумать.

В любом случае удачи!

Смежные вопросы