2014-04-11 4 views
0

Я знаю, как закодировать программу, которая получает мое местоположение (долгота и широта), используя мой собственный Android-телефон. Но как моя программа получит местоположение моего телефона Android Android? Предполагая, что он также установил мою программу локатора. Я знаю, что это возможно, потому что в игре Google есть много подобных. (Я уже знаю, как использовать текст, но я не знаю, как это сделать с Wi-Fi или интернет.)Способы получения местоположения телефона Android вашего друга или телефона с помощью вашего собственного телефона Android

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

"Sample Application

+0

Оба ответа хороши, но я не мог проверить их все. Так что, я просто проверю ответ с низким представителем socre. – user3516943

ответ

0

Есть несколько способов сделать это.

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

вы могли бы сделать фоновую службу, которая реагирует на locationchanges с

locationManager.requestLocationUpda tes (провайдер, 400, 1, это);

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

Это может быть полезно: http://www.vogella.com/tutorials/AndroidLocationAPI/article.html

+0

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

+0

Вы можете превратить свой компьютер в сервер с динамическим dns с помощью службы noip.com. Таким образом, вы владеете сервером и конфиденциальными данными. Недостатком является то, что 1) вы не хотите, чтобы ваш компьютер был постоянно, и 2) ваш интернет-провайдер может попробовать и заблокировать такие вещи (выбор порта> 1024 часто исправляет это). – user2696806

+0

Другой вариант, который вы могли бы сделать (но это немного грязный), использует сервис, такой как GMail. В GMail у вас есть гигабайты веб-пространства, предназначенные для электронной почты. Вы можете настроить учетную запись и отправить журналы в виде сообщений электронной почты на учетную запись GMail. Пользователь программы (ваш друг) никогда не узнает, что журналы отправляются в формате электронной почты, потому что все это происходит в фоновом режиме. Таким образом, вам также не нужно периодически отправлять местоположение друзей, но вы можете заставить телефон получать push-сообщения от GMail. Вы просто «улавливаете» уведомления для конкретного соединения и отвечаете координатами. – user2696806

0

Постоянно слушая обновление местоположения в вашем приложение - дорогостоящая операция, которая истощает батарею, а также потребляет интернет пользователя (данные 3G).

У меня есть несколько решений, и вы можете выбрать один из них.

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

Другой способ - использовать GCM для отправки push-сообщений, когда это необходимо, и при приеме push-сообщения мобильный обновит свое последнее местоположение.

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

+0

GCM интересен. Должен ли я использовать XMPP? для обмена сообщениями google? Возможно ли использовать веб-сервер? Я имею в виду, что устройство Android будет хранить сообщения с другого устройства из облака Google? – user3516943

+0

Если вы не хотите использовать сервер, перейдите к другому решению, Broadcast Receiver и отвечающему. –

+0

Я сделал свое исследование .. тоже применим ASMACK? – user3516943

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