No se puede resolver Manifest.permission.ACCESS_FINE_LOCATION

Al agregar permisos a mi archivo de manifiesto, el siguiente xml funciona.

<permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

Sin embargo, este xml no funciona.

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

¿Cuál debo usar? Si es el primero, ¿por qué no funcionaría? ¿Cómo puedo arreglarlo?

Además, estoy recibiendo una excepción relacionada con los permisos de ejecución de Android 6.0:

 java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission. 

Cuando intento agregar el permiso a una matriz String para verificar el permiso, Android Studio me dice que no puede resolver Manifest.permission en el siguiente código:

 new String[]{Manifest.permission.ACCESS_FINE_LOCATION} 

¿Por qué estaría haciendo esto? ¿Cómo puedo arreglarlo?

Para la primera parte, debes usar <uses-permission> según el sitio Android Devlopers . Intente asegurarse de que declara sus permisos directamente bajo la etiqueta <manifest> , no en su etiqueta <application> . Es difícil saber cuál es su problema sin ver todo el archivo de manifiesto. Echa un vistazo al enlace que he publicado anteriormente para obtener más información sobre cómo declarar permisos en su manifiesto.

En lo que respecta a su problema de permisos de tiempo de ejecución:

Con uses-permissions No se puede resolver que ..

New String [] {Manifest.permission.ACCESS_FINE_LOCATION}

¿Por qué?

Asegúrese de que está utilizando android.Manifest lugar de my.app.package.Manifest . Un montón de veces Android Studio predeterminado a la última en lugar de la anterior.

Por lo tanto, su nueva línea de código se vería así:

 new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}; 

Edit: He reformateado mi respuesta.

Editar 2: Tenga cuidado de importar android.Manifest . Puede causar problemas si también importa my.app.package.Manifest . Aparte de eso import android.Manifest es otra forma válida para resolver este problema.

cambia esto

Manifest.permission.ACCESS_FINE_LOCATION

dentro de esto

android.Manifest.permission.ACCESS_FINE_LOCATION

¡Prueba esto! Dado que ACCESS_FINE_LOCATION está disponible en el siguiente paquete, añada:

 import android.Manifest; 

Si está trabajando en permisos dinámicos y cualquier permiso como ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION que da error "no puede resolver el método PERMISSION_NAME" en este caso escriba el código con el nombre de permiso y luego reconstruya su proyecto esto regenerará el archivo de manifiesto (Manifest.permission)

  if (Build.VERSION.SDK_INT >= 23) { if (checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || checkSelfPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { mapView.setMyLocationEnabled(true); } } else { mapView.setMyLocationEnabled(true); } 

Prueba esto antes de ejecutar, asegúrate de tener permiso para acceder.

 try { location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); } catch (SecurityException e) { dialogGPS(this.getContext()); // lets the user know there is a problem with the gps } 

Prueba esto:

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_SELECT_PICTURE); return; } 

Al escribir "Manifest", Android Studio debería sugerirle que elija algunas opciones de Manifest. Usted debe elegir el androide de inicio en lugar del nombre de su proyecto.

Si accede a la referencia de Manifest.java y puede encontrar sólo hay 1-2 líneas en la clase "Permiso", entonces está haciendo referencia a la clase manifiesta mal.

  • Servicio de Android interactuando con múltiples actividades
  • Múltiples instancias de IntentService en Android
  • Notificaciones diarias a ciertas horas
  • ¿Qué significa "servicio semipúblico" en Android?
  • Eliminar el botón flotante de WindowManager cuando se pulsa el botón de encendido
  • Sqlite no pudo leer row 0 col -1 de cursorwindow de cursor en servicio de alarma
  • En la aplicación de facturación V3 Service nullpointer Android
  • Anular el registro del cliente android desde el servidor de empuje unificado aerogear
  • ¿Cuándo debo usar unbindService (), y cómo debo usarlo correctamente para desvincularme de un servicio remoto que está utilizando una interfaz AIDL?
  • Samsung inhabilita paquetes
  • ¿Cómo usar loopJ SyncHttpClient para llamadas sincrónicas?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.