sto ottenendo la posizione dell'utente tramiteAndroid Studio - rimuovere eccezione di sicurezza avvertimento
Location location = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
Questa riga di codice è all'interno di un metodo e prima di chiamare questo metodo mi controlli per le autorizzazioni runtime Android. Solo se l'autorizzazione è disponibile dall'utente, chiamo questo metodo. Il codice funziona perfettamente.
Il problema è che Android Studio mostra ancora un errore su questa linea non riconoscendo che ho già controllato prima di chiamare questa funzione.
Call requires permission which may be rejected by user: code should explicitly check to see if permission is available (with `checkPermission`) or explicitly handle a potential `SecurityException`
Ora come rimuovere questo avviso? Ho già controllato le autorizzazioni e non voglio controllare di nuovo solo per rimuovere questo avviso. Ho provato ad aggiungere @SuppressWarnings() ma non conosco la stringa esatta per passare a questo. @SuppressWarnings ({"all"}) funziona ma ovviamente non è raccomandato.
Come rimuovere questo avviso?
EDIT 1: Questo è il mio codice esatto -
private void checkPermissions() {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED)
getLocation(); //Method called if I have permission
}
private void getLocation() {
//Android studio shows warning at this line.
Location location = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
}
Ma se metto il controllo delle autorizzazioni all'interno getLocation metodo(), poi l'avvertimento scompare. @SuppressWarnings ({"MissingPermission"}) non ha funzionato.
EDIT 2: ho scoperto che l'unico modo per eliminare l'avviso sono -
Aggiunta di questo commento in cima a quel particolare pezzo di codice -
//noinspection ResourceType
o l'aggiunta di questo -
@SuppressWarnings({"ResourceType"})
Se la risposta modificata qui sotto funziona, contrassegnarla come accettata. – Renascienza