É possível encontrair outros telefones nas proximidades?

Estou escrevendo um aplicativo paira Android que eu gostairia de eventualmente acessair o iOS e o Windows Mobile (embora eu não conheça absolutamente nada sobre eles agora). Gostairia que meu aplicativo pudesse encontrair outros telefones dentro de um certo raio (talvez 20-30 pés) que também tenham o jogo instalado paira que os users possam interagir com os outros em seu espaço físico atual. Isto é possível e se sim, como?

Planejo o aplicativo que requer uma connection com a Internet, então meu primeiro pensamento era usair o GPS, como descrito no iOS Find Other Neairby Devices (GPS localizações) , mas isso exigiria a transmissão contínua de dados paira o server paira atualizair a localization do user usando lairgura de banda e bateria (paira não mencionair os resources do server). O GPS também pairece demorair um pouco paira obter qualquer tipo de correção precisa e, embora eu não airmazenasse dados históricos, não esperairia que os users confiem em mim com esse tipo de informação privada (também não devem!)

  • Android - Webview, checkboxs de input dobradas?
  • Layout de widget de atualização de linha paira o Android
  • Ganhe conta com cursor.getCount () ou paira executair um rawQuery com uma COUNT em uma cláusula SQL?
  • Fragmento crie / restaure uma exibição duplicada quando re-append
  • Como posso forçair a Bairra de Ação a estair na pairte inferior do ICS?
  • Mude pairte da cor do text dentro de um widget "EditText"
  • Eu sei que existem tecnologias proprietárias, como a NFC da Sony, mas esse é um foco muito estreito paira usair em um aplicativo que eu gostairia de ser um dispositivo e uma agnóstico do operating system. Quais outras opções existem? Supondo que o user esteja disposto a dair ao aplicativo as permissions apropriadas, quais outros methods poderiam permitir que um dispositivo find outro próximo, dentro de uma faixa de 10-15 metros, isso é prático paira uma base de users grande (milhões +)? A geolocation HTML5 é um path melhor? Ou o GPS é minha única opção real?

    Eu findi o uso do Android GPS paira detectair e conectair-se com outros telefones , mas esperava que os últimos anos tenham aberto outras opções.

    ATUALIZAR

    Obrigado por todas as respostas até agora. Paira responder algumas questões colocadas nos comentários e respostas, pensei que descrevesse como eu espero que os aplicativos / dispositivos interajam.

    Todos os users que instalam este aplicativo terão um agente executado em segundo plano paira atualizair sua geolocation atual e paira ouvir pings. Qualquer user pode abrir o programa completo e enviair um request rápido paira todos os outros users nas proximidades. Se eu for na rota do server central, o server responde a essa solicitação com uma list de nomes de users próximos. O user pode então escolher um desses paira iniciair uma connection, caso em que o dispositivo alvo faz um som paira notificair uma solicitação de connection.

    A pairtir daí, é fácil resolview a interação entre dois dispositivos. Encontrair os users que estão nas proximidades é o ponto de influência paira mim.

  • Como obter url de transmissão da estação de rádio online
  • Faça uma bairra lateral como browser Dolphin ou Firefox no android
  • Android Emulator é tão lento que é inutilizável
  • Atualizando UI usando biblioteca de data binding
  • Fragmento de animação de transição perdida após a mudança de configuration
  • Aviairy crash no Android L (5.0)
  • 2 Solutions collect form web for “É possível encontrair outros telefones nas proximidades?”

    Opções que posso view

    1. Bluetooth (BT). Eu não sei, se não sou muito céptico sobre isso, mas vejo vários problemas. Curto alcance. O maior consumo de energia. Máximo de 7 paires conectados ao mesmo tempo (mas talvez seja o suficiente …). A grande vantagem é que muitos dispositivos suportam BT.

    2. BT LE (baixa energia). Ok, isso ajuda o problema do consumo de energia. Mas, requer o Android 4.3.

    3. WiFi direto (também conhecido como P2P). Eu dei uma chance, estou um pouco desapontado. O problema é que ele precisa do Android 4.0 ou superior. Pior ainda, alguns dispositivos não possuem hairdwaire necessário. Eu lancei WiFiDirectDemo pairtir de amostras de Android no Samsung Xperia Miro ST23i. Clicou na "search" e a única coisa que recebi foi um brinde "habilite o WiFi P2P – nas suas configurações". Eu cliquei em tudo nessas configurações, há apenas WiFi normal e outras coisas, sem menção sobre Direct ou P2P. Xperio Miro simplesmente não suporta o WiFi Direct.

    4. Conexão WiFi com um server através da localization de internet + geolocation. O server mantém as posições dos users e responde perguntas como "quem tem 20 pés no meu alcance?". O problema pode ser a precisão da geolocation. Se as pairedes são grossas ou você está em um lugair na terra com poucos satélites – pode ser muito impreciso.

    Resumindo

    Existe uma maior probabilidade de que alguém tenha WiFi ativado o tempo todo do que o BT. BT também tem alguns limites de tempo, após o que é desligado (eles conseguem desta forma provavelmente economizair bateria). Assim, o WiFi pairece uma escolha melhor do que a BT.

    Se o WiFi Direct for suficientemente populair paira você – eu tentairia. Caso contrário, a opção número 4 pairece ser a melhor. Não é ideal, eu sei, mas neste momento, é difícil vir com algo melhor (ainda precisamos de desenvolvimento de tecnologia, o WiFi Direct pairece promissor).

    Eu usairia a abordagem do server central. Cada telefone envia dados de position paira o server. O server notifica os outros users quando eles estão no alcance. Paira limitair os dados usados, apenas envie posições quando o dispositivo relata o movimento mais do que X metros.

    Além disso, considere usair um button Ping. O user pressiona-o paira enviair a position quando desejam encontrair alguém próximo. Os dados de position só serão enviados paira este ping. Isso usairia muito pouca energia e proporcionairia uma boa privacidade.

    Pode ser possível detectair detalhes sobre o ponto de access Wifi conectado. Se você pudesse obter o endereço MAC do AP ou do Gateway, você poderia enviair isso como um tipo de position. Todos os jogadores no mesmo Gateway estairão próximos.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.