Всякий раз, когда мое устройство входит в геозону, я хочу, чтобы sendNotificationsToEveryone()
запускался или sendNotificationsToEveryoneExit()
срабатывал в зависимости от сценария.
Это раздел запуска функции моего кода:
geoQueryArray[geoFireCount] = geoFire.queryAtLocation(new GeoLocation(geofirelocations.latitude, geofirelocations.longitude), 0.1f);
geoQueryArray[geoFireCount].addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(String key, GeoLocation location) {
sendNotificationsToEveryone(fcm_tokens_list, geoName);
}
@Override
public void onKeyExited(String key) {
sendNotificationsToEveryoneExit(fcm_tokens_list,geoName);
}
@Override
public void onKeyMoved(String key, GeoLocation location) {
Log.d("MOVE", String.format("%s move within the dangerous area [%f/%f]", key, location.latitude, location.longitude));
//sendNotificationsExit(fcm_tokens_list);
}
@Override
public void onGeoQueryReady() {
}
@Override
public void onGeoQueryError(DatabaseError error) {
Log.d("ERROR", ""+error);
}
});
geoFireCount++;
и это мой код для устройства, которое, когда оно входит в Geofence, должно запускать функции sendNotifications:
final double latitude = Double.parseDouble(part1);
final double longitude = Double.parseDouble(part2);
geoFire1.setLocation("You", new GeoLocation(latitude, longitude), new GeoFire.CompletionListener() {
@Override
public void onComplete(String key, DatabaseError error) {
if (mCurrent != null)
mCurrent.remove();
BitmapDescriptor deviceIcon = BitmapDescriptorFactory.fromResource(R.drawable.watchdevice);
mCurrent = mMap.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title("GPS Device").icon(deviceIcon));
LatLng coordinate = new LatLng(latitude, longitude);
CameraUpdate yourLocation = CameraUpdateFactory.newLatLngZoom(coordinate, 12);
mMap.animateCamera(yourLocation);
}
});
Этот код находится в том же файле, мне интересно, как я буду редактироватьgeoQueryArray[]
для включения устройства, которое при входе в геозону будет запускать функции sendNotications
.