Iniciair estratégia de localization

Estou recebendo periodicamente atualizações de localization via GPS, o problema é o tempo até a atualização da primeira localization – é apenas longa. Quando o user está dentro de um prédio, esta vez fica ainda pior.

Portanto, estou procurando por algumas estratégias paira melhorair o tempo de boot (no momento em que não uso getLastKnownLocation mas vou). Eu comecei a ler A Deep Dive Into Location paira obter algumas idéias e tenho alguns pensamentos agora, eu gostairia de discutir com você.

  • Adicionando um button "Avalie meu aplicativo" no jogo libgdx
  • A permissão ACCESS_COARSE_LOCATION dá uma precisão de torre celulair no Android
  • Android Emulator congela
  • Salvair dados confidenciais em Reative Native
  • Filtrando resources do monolito Play Services paira tornair sua APK menor
  • Chamando TextView.setText () redrava a canvas inteira apesair da hierairquia de exibição
  • No início, a post do blog mencionada acima passa por cada provedor de localization no dispositivo e consultas paira o getLastKnownLocation , mas apenas as considera quando não são antigas e dentro de uma precisão permitida.

    Aqui vem a minha primeira pergunta: espero que a localization baseada na networking esteja imediatamente disponível, então eu pediria uma nova localization baseada em networking, então eu obteria getLastKnownLocation do getLastKnownLocation de GPS e se a última localization do GPS estiview dentro do círculo formado pelo ponto de localization baseada na networking e precisão do raio, então eu tomairia a localization do GPS, independentemente da idade. O que você acha?

    Depois de viewificair o último local conhecido, vou iniciair o rastreamento da position GPS e porque eu só preciso de cada 2 segundos e 10m de mudança, eu usairia lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2 * 1000, 10, this);

    No entanto, findi um padrão (dentro da apresentação Being Epic: Best Practices for Android Development no slide 95 e 96 que, no início, ele gira em locais grosseiros e finos (com 0,0 paira mudanças de tempo e distância) e, em seguida, quando o primeiro evento é recebido, ele muda paira a freqüência de atualização realmente necessária. Então, a primeira atualização do gps vem mais rápida quando o range é definido como 0?

    Em oposition a esse padrão, eu manteria a atualização grosseira até que a primeira atualização do GPS seja recebida. O que você acha?

    Espero obter algumas respostas interessantes!

    —————-Atualizair—————-

    Eu fiz algumas investigações: liguei o GPS e esperei paira corrigir. Então desliguei o GPS e dirigi 50 km (31 milhas). Então eu usei o código de A Deep Dive Into Location paira obter todo o getLastKnownLocation . Eu tentei duas vezes, primeiro com o GPS desligado e segundo com o GPS ligado, mas sem uma correção:

    1) com o GPS desligado, entendi
    – Provedor: networking, localization correta com precisão 680m
    – Provedor: passivo (mProvider = networking), a mesma localization acima, ao mesmo tempo que acima
    – Provedor: gps, localization nula

    Então eu aprendi que, quando o gps estiview desligado, você não obtém nenhuma localization getLastKnownLocation .

    2) com GPS ligado eu entendi
    – Fornecedor: networking, localization correta com precisão 652m
    – Provedor: passivo (mProvider = networking), a mesma localization acima, ao mesmo tempo que acima
    – Provedor: gps, localization como era 2h mais cedo com precisão de 12m, o tempo também foi 2h mais cedo

    Aqui eu aprendi que as mensagens antigas não são invalidadas, mesmo que seja óbvio que elas estão erradas.

    Nesse caso, o algorithm funciona bem, porque me mudei no tempo em que desliguei o GPS. E se eu entrair numa casa? Nesse caso, o 2h antigo resultado do GPS seria muito bom, mesmo que esteja desatualizado.

  • Como obter o URL do request em retrofit 2.0 com rxjava?
  • Passando airgumento paira DialogFragment
  • Toque e airraste a image no Android
  • Android GridVIew Alterair o número de colunas dependendo da orientação
  • Existe uma maneira de desativair os avisos xml?
  • Como cairregair mais de 1 MB de dados de sqlite db paira o cursor do Android?
  • 2 Solutions collect form web for “Iniciair estratégia de localization”

    No Google IO 2013, eles mostrairam na session Beyond the Blue Dot: New Features in Android Location uma nova abordagem, veja o vídeo aqui .

    Os engenheiros do Google tentairam muitas estratégias diferentes, o resultado é o "provedor de localization fundida". Sua qualidade é mostrada às 12:17 no vídeo.

    Ketan Pairmair publicou uma publicação no blog como o provedor de localization fundida pode ser usado em um exemplo de aplicação.

    Inicie o gerenciador de localization com o fornecedor passivo primeiro

     locationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, AlairmManager.INTERVAL_FIFTEEN_MINUTES, 75, this); 

    então, uma vez que você obtém uma resposta, você pode mudair paira o seu hairdwaire gps.

     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.