Error Boolean isFromMockProvider() on a null object reference

210 views Asked by At

can you help me. i have an error in my code with a boolean isFromMockProvider() on a null object reference. this problem occurs when the gps on my provider is slow can you guys help me with dealing with the error

here is my code:

GetLocation getLocation = new GetLocation(getApplicationContext());
        Location location = getLocation.getLocation();
        boolean isMockLocation = location.isFromMockProvider();
        if (isMockLocation==true){
            showDialog();
        }
        else {
            tesmock.setText("No Use Mock ");
        }
3

There are 3 answers

2
twynb On

Your question is lacking quite a bit of context, so this involves some guess work:

What's probably happening is that when your gps is slow, getLocation.getLocation() returns null rather than a Location object, so trying to call location.isFromMockProvider() throws a NullPointerException.

The best way to solve this would be to check whether location is null before calling that function:

Location location = getLocation.getLocation();
if(location!=null){
    boolean isMockLocation = location.isFromMockProvider();
    //the stuff you then do with isMockLocation
} else{
    //display an error message or something saying the GPS is too slow
}
0
WILLHARTICER KARTIKA DAELI On

Is it like this? I'm sorry because I'm a beginner

 Location location = getLocation.getLocation();
        if(location!=null){
            boolean isMockLocation = location.isFromMockProvider();
            if (isMockLocation==true){
                showDialog();
            }
            else {
                tesmock.setText("No Use Mock ");
            }
        } else{
            //display an error message or something saying the GPS is too slow
        }
0
Ninja On

You are using 2 If statements

GetLocation getLocation = new GetLocation(getApplicationContext());
    Location location = getLocation.getLocation();
if (location!=null){
    boolean isMockLocation = location.isFromMockProvider();
    if (isMockLocation==true){
        showDialog();
    }
    else {
        tesmock.setText("No Use Mock ");
    }
} else { //show Here a dialog saying GPS is slow or Something like this
}