2
respostas

Erro de permissão ACCESS_FINE_LOCATION

Aparentemente tenho um erro de permissão da aplicação.

O android.manifest está correto.

Tentei pedir a permissão quando inicia o aplicativo, mas não resolveu.

Segue o Log.

E/AndroidRuntime: FATAL EXCEPTION: main Process: br.com.alura.agenda, PID: 14321 java.lang.SecurityException: Client must have ACCESS_FINE_LOCATION permission to request PRIORITY_HIGH_ACCURACY locations. at android.os.Parcel.createException(Parcel.java:1953) at android.os.Parcel.readException(Parcel.java:1921) at android.os.Parcel.readException(Parcel.java:1871) at com.google.android.gms.internal.location.zza.transactAndReadExceptionReturnVoid(Unknown Source:10) at com.google.android.gms.internal.location.zzap.zza(Unknown Source:9) at com.google.android.gms.internal.location.zzas.zza(Unknown Source:43) at com.google.android.gms.internal.location.zzaz.zza(Unknown Source:5) at com.google.android.gms.internal.location.zzr.doExecute(Unknown Source:25) at com.google.android.gms.common.api.internal.BaseImplementation$ApiMethodImpl.run(Unknown Source:19) at com.google.android.gms.common.api.internal.zaah.execute(Unknown Source:20) at com.google.android.gms.common.api.internal.zabe.execute(Unknown Source:23) at com.google.android.gms.common.api.internal.zaaw.execute(Unknown Source:74) at com.google.android.gms.internal.location.zzq.requestLocationUpdates(Unknown Source:14) at br.com.alura.agenda.Localizador.onConnected(Localizador.java:43) at com.google.android.gms.common.internal.GmsClientEventManager.onConnectionSuccess(Unknown Source:34) at com.google.android.gms.common.api.internal.zaaw.zab(Unknown Source:292) at com.google.android.gms.common.api.internal.zaak.zaaq(Unknown Source:125) at com.google.android.gms.common.api.internal.zaak.onConnected(Unknown Source:105) at com.google.android.gms.common.api.internal.zabe.onConnected(Unknown Source:101) at com.google.android.gms.common.api.internal.zaq.onConnected(Unknown Source:6) at com.google.android.gms.common.internal.zaf.onConnected(Unknown Source:2) at com.google.android.gms.common.internal.BaseGmsClient$zzf.zzm(Unknown Source:24) at com.google.android.gms.common.internal.BaseGmsClient$zza.zza(Unknown Source:12) at com.google.android.gms.common.internal.BaseGmsClient$zzc.zzo(Unknown Source:11) at com.google.android.gms.common.internal.BaseGmsClient$zzb.handleMessage(Unknown Source:48) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6810) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

2 respostas

Era um problema com a permissão mesmo. Na versão que estou rodando tive que pedir a permissão para o usuário.

Após isso tive também que permitir a opção usesCleartextTraffic para a conexão ter sucesso.

Oi Hugo, que bom que descobriu a causa e a solução. Sim, nas versões a partir do Android 7 se não me engano, você sempre vai precisar dos dois pontos:

1 - Declarar o tipo de permissão que precisa no manifest.

2 - Pedir ao usuário a permissão já descrita.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software