Обнаруживать, когда устройство Android находится в движущемся автомобиле

Для личного проекта я пытаюсь обнаружить, когда устройство Android работает с кем-то. Сначала я подумал о том, чтобы использовать GPS для определения средней скорости, но решил, что будет потреблять энергию и требует, чтобы у пользователя был включен GPS в любое время. Я слышал, что можно сказать, когда кто-то переключает сотовые башни (как на Android, так и на iOS), но есть ли намерения трансляции? Я очень новичок в разработке Android, поэтому надеялся, что смогу зарегистрировать широковещательный приемник для запуска, когда я верю, что устройство находится в движущейся машине.

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

Как замечание, я заметил, что некоторые приложения, такие как skype, имеют фоновый процесс, который перезагружается, даже если я принудию его убить. Как они это делают? Я думал, будет иметь вещательный приемник, когда устройство движется, включается и т.д., Чтобы перезапустить фоновый процесс... это то, что они делают?

Спасибо за любую информацию!

Ответ 1

Я думаю, что следующие учебники могут вам помочь. Я все еще не уверен, возможно ли поймать обновление измененного местоположения в широковещательном приемнике. Но вы также можете написать свою услугу (которая обычно не будет убита, скорее всего, чем обычное приложение), которая будет опросить информацию о местоположении и проверить, произошло ли изменение.

Надеюсь, это поможет. Отношения

Ответ 3

Если вы используете сервис GOOGLE PLAY SERVICE

Дает вам API, вы можете получить подробную информацию об этом

Для всех ситуаций, таких как движение транспортного средства, ходьба, стоя и т.д.

И кроме того, вы обеспечиваете уровень надежности для каждой ситуации

Вот ссылка на это превосходное объяснение:

(http://developer.android.com/training/location/activity-recognition.html)

Ссылка на документ:

(https://developer.android.com/reference/com/google/android/gms/location/ActivityRecognition.html)

(https://developer.android.com/reference/com/google/android/gms/location/DetectedActivity.html)

Ответ 4

Я бы предположил, что GPS даст вам гораздо лучшее указание на движение, так как вы, вероятно, меняете башни несколько нечасто. Даже картографические приложения, которые могут триангулировать вашу позицию с помощью сигнала башни, крайне неточны. Часто даже при очень хорошем сигнале они не могут триангулировать ваше положение лучше, чем в пределах 1600 м.

Ответ 5

Вам нужно изменение местоположения или движение устройства, которое вы ищете? Если вы просто ищете движение http://developer.android.com/reference/android/hardware/SensorManager.html, это хороший ресурс, на который нужно смотреть.

Ответ 6

Вы также можете попросить пользователя, есть ли у них комплект Bluetooth в своей машине. Если они есть, вы можете найти имя этого спаривания, и когда вы подключены, вы знаете, что они находятся в машине (или рядом с ней).