Я написал фрагмент кода для получения уведомлений от geoQuery и GeoFencing, но в некоторых моментах у меня есть некоторые исключения.
Я перепробовал много методов, чтобы избавиться от этого, но все не удается.
Вот код, где я получаю исключения нулевого указателя
GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(start_Point.latitude, start_Point.longitude), 0.05f);
geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(String key, GeoLocation location) {
SendNotification("Child", String.format("%s reached to school", key));
}
@Override
public void onKeyExited(String key) {
SendNotification("Child", String.format("%s went out from school", key));
}
@Override
public void onKeyMoved(String key, GeoLocation location) {
Log.d("MOVE", String.format("%s Child is on his Way [%f / %f]", key, location.latitude, location.longitude) );
}
@Override
public void onGeoQueryReady() {
}
@Override
public void onGeoQueryError(DatabaseError error) {
Log.e("Error" , ""+ error);
}
});
GeoQuery endPoint = geoFire.queryAtLocation(new GeoLocation(31.8020471, 74.2594809), 0.05f);
endPoint.addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(String key, GeoLocation location) {
SendNotification("Child", String.format("%s reached to home", key));
}
@Override
public void onKeyExited(String key) {
SendNotification("Child", String.format("%s went out from home", key));
}
@Override
public void onKeyMoved(String key, GeoLocation location) {
}
@Override
public void onGeoQueryReady() {
}
@Override
public void onGeoQueryError(DatabaseError error) {
}
});
это мой LogCat
Process: com.softtech.aqeel.childsequrity, PID: 4167
java.lang.NullPointerException: Attempt to invoke virtual method 'com.firebase.geofire.GeoQuery com.firebase.geofire.GeoFire.queryAtLocation(com.firebase.geofire.GeoLocation, double)' on a null object reference
at com.softtech.aqeel.childsequrity.GoogleMaps$3.Map(GoogleMaps.java:281)
at com.softtech.aqeel.childsequrity.GoogleMaps$3.run(GoogleMaps.java:233)
at com.softtech.aqeel.childsequrity.GoogleMaps.startRepeating(GoogleMaps.java:225)
at com.softtech.aqeel.childsequrity.GoogleMaps.onMapReady(GoogleMaps.java:152)
at com.google.android.gms.maps.zzak.zza(Unknown Source:7)
at com.google.android.gms.maps.internal.zzaq.dispatchTransaction(Unknown Source:31)
at com.google.android.gms.internal.maps.zzb.onTransact(Unknown Source:22)
at android.os.Binder.transact(Binder.java:604)