Enviar datos de una actividad a otra regularmente

Obtengo mi ubicación en Actividad principal regularmente por el Proveedor de ubicación fusionada cada 30 segundos. No uso el servicio ni nada más. obtengo ubicación justo cuando el usuario está en la aplicación.

En Actividad principal, tengo un botón que, cuando se presiona, va a la Segunda actividad y muestra mi ubicación actual en el mapa (En esta línea: googleMap.setMyLocationEnabled (verdadero)).

1- Quiero enviar mis datos de ubicación de la Actividad principal a la Segunda actividad regularmente (cada 30 segundos que llamó el método onLocationChange), para mover el marcador de mi ubicación actual. ¿Cómo puedo enviar datos de ubicación regularmente? y donde pongo los códigos para esto? en el método onChangedLocation? (¿O no es necesario en absoluto? y mi ubicación se mueve automáticamente cuando se cambia?)

Además, envío mi ubicación actual al servidor, en el método OnLocationChanged, por la biblioteca Volley de esta manera:

@Override
public void onLocatuionChanged(Location location){
if(location != null)
    sendLocation(location);
}

private void sendLocation(Location location){
Map<String, String> params = new HashMap<String, String>();
params.put("latitude", String.valueOf(location.getLatitude();
params.put("longitude", String.valueOf(location.getLongitude();
jsonObjReq = new VolleyCustomReq(Method.POST,
URL, params,
new Listener<JSONObject>(){
@Override
public void onResponse(JSONObject response){
if(response != null)
    if(response.optString("type").equalsIgnoreCase("1")
        showAlertDialog1();
    else if(response.optString("type").equalsIgnoreCase("2")
        showAlertDialog2();
    else if(response.optString("type").equalsIgnoreCase("3")
        showAlertDialog3();
    else if(response.optString("type").equalsIgnoreCase("addNewMarker")
        addNewMarkerOnMapAsDestinationAndMakePathBetweenBothOfYou();
    ...
}
...
}
}

Si hay una respuesta del servidor, dependiendo del tipo de respuesta, quiero hacer algo; por ejemplo, muestre un mensaje relacionado al usuario, agregue un marcador como destino en el mapa y cree una ruta entre dos marcadores.

2- ¿El método onLocationChanged funciona incluso cuando estamos en otras actividades?

3- En caso afirmativo, ¿AlertDialog puede mostrarse en todas las actividades? (no solo en la Actividad principal que muestran el método showAlertDialog y LocationListener).

4- ¿Hay una mejor manera de manejar las respuestas y hacer cosas relacionadas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta