NativeScript / NativeScript/plugins

[Android] [@nativescript/geolocation] Cannot watch location. Call "enableLocationRequest" first

Aberta
#606 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
TypeScript
Estrelas
206
Forks
123
Merge médio
2d 1h
PRs com merge (30d)
1

Descrição

I call watchLocation properly after enableLocationRequest but I am getting Cannot watch location. Call "enableLocationRequest" first error message.

Other weird behavior:

  • It seems even if I allow the location permission, it forgets and requests it again.
  • the docs says watchLocation is now async in order to check for permissions before attempting to watch but this is meaningless this way, since still the callback sends the location, this part is very unclear, and I couldn't find any examples for v9
✔ Component nativescript has 8.8.2 version and is up to date.
✔ Component @nativescript/core has 8.8.6 version and is up to date.
✖ Component @nativescript/ios is not installed.
✔ Component @nativescript/android has 8.8.6 version and is up to date.
"@nativescript/geolocation": "^9.0.0",

Code:

    Geolocation.enableLocationRequest(true, true).then(() => {
      Geolocation.watchLocation(
        location => {
             console.log(location);
         },
        e => {
          console.log('watchLocation ERROR:', e);
        },
        {
          //Specifies desired accuracy in meters.
          desiredAccuracy: CoreTypes.Accuracy.any,
          updateDistance: 300,
          updateTime: 10000,
          minimumUpdateTime: 1000
        }
      ).then(()=>{
        console.log('WHAT IS THIS FOR?')
      })

UPDATE:
Downgrading to 8.3.1 solved all the issues and everything is working. I am on API 35.
So this is clearly a bug with 9.0.0 or the documentation is inaccurate and I should do something differently.

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece reproduzindo o exemplo com @nativescript/geolocation 9.0.0 no Android API 35 e, em seguida, compare seu comportamento com o da versão 8.3.1. Verifique o fluxo de enableLocationRequest e watchLocation, incluindo a persistência da permissão; considera-se concluído quando o monitoramento funciona sem a mensagem incorreta e o comportamento assíncrono documentado está claro.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
android, typescript
Domínio
mobile-dev
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.