ao selecionar Permitir apenas durante o uso do aplicativo, a nova opção no Android 10 Geolocator().checkGeolocationPermissionStatus()
retorna GeolocationStatus.denied
Versão: 5.1.4
Plataforma:
: robô: Android
Você poderia me dizer mais sobre o código que retorna GeolocationStatus.denied?
Posso reproduzi-lo com o aplicativo de amostra.
apenas experimente com um emulador de Android 10.
O emulador resolve o erro GeolocationStatus.denied?
Não tenho certeza se entendi o que você quer dizer
Você poderia me dar alguns detalhes sobre o código e o que você está tentando criar? Estou tentando reproduzir seu problema, mas preciso de mais informações.
experimente o aplicativo de demonstração em um emulador de Android com Android 10
Reproduzi esse problema e concluí que as configurações de localização do dispositivo foram desativadas. Para corrigir esse problema, vá para Configurações > Local > Usar local > Ativado .
o local estava ativado, eu verifiquei, portanto, quando eu escolho permitir todo o tempo, ele reconheceu como concedido.
A saída do aplicativo informa que você está usando FusedLocationProvider. É recomendado usar o Google Play Services versão 11.6.0 ou superior, que inclui correções de bug para esta classe.
Como você pode ver, estou usando o Google Play Services 19.2.75 e o local está ativado
É uma permissão completamente nova no novo Android 10. ela não deve ser permitida ou negada, pois requer verificações diferentes.
https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_BACKGROUND_LOCATION
@humazed O que você está tentando alcançar com o método Geolocator (). checkGeolocationPermissionStatus ()? Não recebo nenhum erro se definir as configurações de local como Permitido o tempo todo.
Eu o uso para verificação de permissão, e até mesmo o aplicativo de demonstração usa e não funciona.
E o problema só aparece quando você opta por permitir apenas durante o uso do aplicativo
Na quinta-feira, 10 de outubro de 2019 às 10h09 Stijn van Woerkom [email protected]
escreveu:
@humazed https://github.com/humazed O que você está tentando alcançar
o método Geolocator (). checkGeolocationPermissionStatus ()? Eu não entendo nenhum
erros se eu definir as configurações de localização para Permitido o tempo todo.-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/BaseflowIT/flutter-geolocator/issues/334?email_source=notifications&email_token=ACDNYJTFXDG2QBXZGR24XQTQN3PLPA5CNFSM4I5CDEP2YY3PNVWWWK3TUL52HSBXZGR24XQTQN3PLPA5CNFSM4I5CDEP2YY3PNVWWWK3TUL52HS4ZWWH43KVM5NZWHCOMP5OWH63COMP5NZWH63COMBP5NZWH63COMP5NTZWHWRF5NTZWH63COMB5OWRF5WRF5NTZWHRF5NTWHWHRF5NHVRHWHRWHVNHHRHHRVNHHHRVNHVNHHRHWHVNHRHWH6rn5OWReq .
ou cancelar
https://github.com/notifications/unsubscribe-auth/ACDNYJS7PSSNNQPH3S7HBWTQN3PLPANCNFSM4I5CDEPQ
.
@humazed Eu reproduzi o aplicativo demo no novo Android 10 e com o método Geolocator (). checkGeolocationPermissionStatus () e recuperei 0 erros quando escolhi permitir apenas durante o uso do aplicativo. Você poderia enviar seu código para que eu pudesse dar uma olhada nele?
Acabei de clonar o repo e executá-lo sem nenhuma alteração
Eu até criei um novo emulador no caso do meu atual ter um problema ou algo assim, mas obtendo o mesmo comportamento
Acho que o problema dependeria mais das configurações do emulador. O aplicativo afirma que há problemas com o Google Play Services. Você está usando uma rede ou está em um local que não oferece suporte ao Google Play Services?
Tentei com um emulador novo, mas o problema é o mesmo
O aplicativo funciona bem para qualquer versão anterior ao android10
Nos gifs que forneci, estou mostrando a versão do Google Play Services e o local está ativado
Tenho o mesmo problema se usar a versão 5.1.4 + 1 e compilar com o SDK 28. Se eu compilar no SDK 29, funciona. Executando isso em um Pixel 3a com Android 10.
Tenho o mesmo problema se usar a versão 5.1.4 + 1 e compilar com o SDK 28. Se eu compilar no SDK 29, funciona. Executando isso em um Pixel 3a com Android 10.
Posso confirmar que a configuração compileSdkVersion
e targetSdkVersion
para 29 resolveu este problema.
Eu tenho o mesmo problema.
Também vejo isso no iOS. getCurrentPosition () mostra a caixa de diálogo para habilitar a localização sempre ou habilitar a localização ao usar o aplicativo ou negar o acesso à localização. Selecionar "Ativar ao usar o aplicativo" resulta em uma exceção com um erro "PERMISISON_DENIED"
Estou usando o geolocalização 5.1.3
Um erro semelhante é reproduzido no Pixel 4.
O mesmo problema.
Samsung Galaxy S10 Plus, ao clicar em "Manter acesso durante o uso", obtenha PermissionStatus.denied
No momento, estamos trabalhando em uma nova versão do plugin de permissões de localização. Esta nova versão inclui acesso respeitado durante o uso e não retorna mais PermissionStatus.denied.
Urgh - acabei de descobrir que estou tendo o mesmo problema para um aplicativo de produção. Eu havia presumido erroneamente que, quando um usuário concede permissões de acesso em uso, esse método retornaria PermissionStatus.granted - portanto, não posso mais confiar nisso, ao que parece.
EDIT: Duas horas depois, leia o resto do tópico e perceba que a sugestão de "Posso confirmar que a configuração de compileSdkVersion e targetSdkVersion para 29 resolveu esse problema." funciona.
"Posso confirmar que definir compileSdkVersion e targetSdkVersion como 29 resolveu esse problema." resolveu o problema até adicionar isso ao AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
@ JBBx2016 Estamos trabalhando nas permissões android.permissions.ACCES_BACKGROUND_LOCATION. Quando as permissões são corrigidas, isso pode resolver o seu erro.
Qualquer atualização?
Qualquer atualização?
Qualquer atualização
Não funciona em dispositivos Android 10. : |
Como solução temporária, você pode usar meu garfo
mestre de filial
onde movi o material de permissão de location_permissions obviamente quebrado para outro plug-in permission_handler
Meu aplicativo simplesmente para de funcionar após o serviço PopUp do Google Play, o que quer que eu responda "Negar", "Autorizar" etc. com Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
e com o melhor funciona bem
Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.best);
Android 10 com emulador, vibração de ramo estável mais recente.
Geolocator locator = Geolocator();
locator
.checkGeolocationPermissionStatus(
locationPermission: GeolocationPermission.locationWhenInUse)
Precisa passar permissão em params.
GeolocationPermission.locationWhenInUse
Corrigido na versão 6.0.0
Comentários muito úteis
Posso confirmar que a configuração
compileSdkVersion
etargetSdkVersion
para 29 resolveu este problema.