Как избежать чрезмерного использования батареи под iOS4? - PullRequest
0 голосов
/ 13 июля 2010

Я использую UIBackgroundMode 'location' для получения фоновых обновлений GPS, когда пользователь нажимает кнопку Home. В результате, если приложение оставить в фоновом режиме на ночь, батарея постоянно разряжается на следующее утро. Я сказал locationManager остановитьUpdatingLocation, но безрезультатно.

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

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 21 апреля 2011

Вы можете использовать таймер и / или фоновую задачу , которая будет запускаться после заданного количества времени простоя, и затем попытаться отключить GPS. Таким образом, вы можете отслеживать местоположение в фоновом режиме своего приложения, но через 10-20 минут оно отключается.

0 голосов
/ 14 июля 2010

Может быть, вы могли бы зарегистрироваться для локального уведомления, которое информирует пользователя, что они должны открыть приложение, чтобы остановить отслеживание местоположения?Конечно, это не очень элегантно, кажется, Apple должна разрешить разработчику регистрироваться для получения обновлений местоположения в течение определенного промежутка времени, может быть, вы могли бы отправить запрос на функцию для этого.Я думаю, что Loopt отслеживает в течение 24 часов, а затем завершает работу, возможно, вы могли бы выяснить, как они заставили его остановиться через 24 часа.Хотелось бы помочь больше, но я совсем не перепутал структуру местоположения.

...