write_external_storage - uses permission android name android permission read_logs/>




Impossibile risolvere Manifest.permission.ACCESS_FINE_LOCATION (8)

Ho avuto un problema simile dove usato;

ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED 

dove non è stato possibile risolvere il simbolo READ_CONTACTS .

Tuttavia sull'uso;

import android.Manifest;

Ha iniziato a riconoscere READ_CONTACT

Quando si aggiungono le autorizzazioni al mio file manifest, il codice XML sottostante funziona.

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

Tuttavia, questo XML non funziona.

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

Quale dovrei usare? Se è il primo, perché non dovrebbe funzionare? Come posso ripararlo?

Inoltre, sto ottenendo un'eccezione relativa alle autorizzazioni di runtime di Android 6.0:

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

Quando provo ad aggiungere l'autorizzazione a un array String per verificare l'autorizzazione, Android Studio mi dice che non è possibile risolvere Manifest.permission nel codice seguente:

new String[]{Manifest.permission.ACCESS_FINE_LOCATION}

Perché dovrebbe farlo? Come posso ripararlo?


Modificare

new String[]{Manifest.permission.ACCESS_FINE_LOCATION}

A questo

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

Il tuo problema sarà risolto.


Prova prima di eseguire, assicurati di disporre delle autorizzazioni per accedere.

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

Prova questo! Poiché ACCESS_FINE_LOCATION è disponibile nel seguente pacchetto, quindi Aggiungi:

import android.Manifest;


Quando digiti "Manifest", Android Studio dovrebbe suggerirti di scegliere alcune opzioni di Manifest. Dovresti scegliere quello che avvia Android invece del nome del tuo progetto.

Se accedi al riferimento di Manifest.java e riesci a trovare solo 1-2 righe nella classe "Autorizzazione", stai facendo riferimento alla classe manifest errata.


Se hai già configurato gli usi.permissioni correttamente nel tuo file manifest, come già accennato da hnilsen, basta sostituire la riga:

 Manifest.permission.ACCESS_FINE_LOCATION

da questo:

 android.Manifest.permission.ACCESS_FINE_LOCATION

Questo può risolvere il tuo problema.


se stai lavorando su permessi dinamici e permessi come ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION che dà l'errore "impossibile risolvere il metodo PERMISSION_NAME" in questo caso scrivi il codice con il nome del permesso e quindi ricostruisci il tuo progetto questo rigenera il file manifest (Manifest.permission)


new String[]{Manifest.permission.ACCESS_FINE_LOCATION}

cambiarlo in

android.manifest.permission.ACCESS_FINE_LOCATION




manifest