2013-05-31 6 views
-1

Можно ли сделать приложение для Android, основанное на местоположении, например, когда вы сможете работать, приложение может отключить WiFi или Bluetooth или изменить любые другие системные настройки, чтобы сэкономить аккумулятор или что-то еще?Можно ли сделать приложение на основе местоположения?

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

У меня уже есть опыт разработки приложений для Android.

ответ

0

Я некоторое время играл с подобной концепцией на Windows Phone, и я думаю, что это тоже сработает для Android.

В принципе, вы должны использовать GPS устройства для определения вашего местоположения, а затем сравнить его с местоположениями, сохраненными пользователем. Если местоположение находится в пределах диапазона сохраненной настройки, выполните действие.

Использование GPS, однако, истощает батарею, поэтому вам придется немного поэкспериментировать, сделав это эффективным методом.

+0

круто спасибо, что я думал об этом. но спасибо за то, что вы подняли аккумуляторную батарею –

0

Вы пробовали GeoFencing, это действительно здорово. Он позволяет определить центральную точку и радиус. Когда пользователь вводит этот радиус, вы получаете обратный вызов или ожидающий запрос. Вы можете делать то, что хотите в своем обратном вызове.

Вы можете получить адреса своих клиентов и построить геозонность вокруг своих местоположений.

Edit:

Если вы решили не использовать GeoFenceing (по какой либо причине), обратите внимание, что LocationManager сильно глючит и неустойчивы на большинстве мобильных телефонов (Samsung).

Вместо этого используйте LocationClient, который заботится обо всем дерьме LocationManager. Мы с вами справляемся и обеспечиваем более быструю, меньшую батарею и индивидуальную точность.

Edit:

Если кто-то пытается убедить вас в обратном, проверьте this аут. Видео от разработчиков Google и их разговоры о том, почему LocationManager отстой, и почему они знали и помогли нам выяснить значение, которое Датчики добавляют ко всему решению.

Edit: Дизайна вашего решения Вам нужны 2 геозонов 1) Outer, вы можете трудно код это к воображаемым 500 м от офиса. С этого момента вы можете начать поиск wifizones 2) Как только найден wifizone, сохраните gps и расстояние от его адресной точки. Это ваш внутренний радиус.

1 Geofence определяется вашей установкой, 2-я геозонность определяется вашей рабочей средой.

2-й Geofence и использовать в дальнейшем для отключения GPS (только если вы решите использовать LocationManager). Если нет, вам это не понадобится, LocationClient будет делать то, что он делает лучше всего.

+0

, которая звучит потрясающе ile, проверьте ее и вернитесь к вам, я думаю, что она именно то, что мне нужно –

+0

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

1

Да, это абсолютно возможно. Я работал примерно с тремя приложениями с той же концепцией.

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

LocationManager class 

Для сбора данных. Если вам нужна дополнительная помощь, я могу предоставить тоже самое.

+0

thats awesome точно, что я хотел бы вы готовы помочь мне по им только 15, и это моя первая серьезная попытка в приложении, которое не является миром hello или calcualtor lol. –

+0

проверьте этот URL-адрес http://developer.android.com/reference/android/location/Location.html#distanceBetween%28double,%20double,%20double,%20double,%20float%5B%5D%29, расстояние между функциями тот, который вы ищете. –