I'm getting the user's location through
Location location = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
This line of code is inside a method and before calling this method I do check for Android run time permissions. Only if the permission is available from the user then I call this method. Code is working perfectly.
The problem is that Android Studio still shows an error on this line not recognising that I've already checked before calling this function.
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`
Now how do I remove this warning? I've already checked for permissions and don't want to check again just to remove this warning. I've tried adding @SuppressWarnings() but don't know the exact String to pass into this. @SuppressWarnings({"all"}) works but it is obviously not recommended.
How do I remove this warning?
EDIT 1 : This is my exact code -
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);
}
But if I put the permission check inside getLocation() method then the warning disappears. @SuppressWarnings({"MissingPermission"}) did not work.
EDIT 2: I've discovered that the only way to suppress the warning are -
Adding this comment on top of that particular piece of code -
//noinspection ResourceType
or adding this -
@SuppressWarnings({"ResourceType"})
@SuppressWarnings("MissingPermission")
above your function implementation – Notarize