Subscribe to Trip (Android)
Explore how to subscribe to a trip on Android with Trips v2.
You can subscribe to a trip using the tripID to get real-time trip data.
Roam.subscribeTrip("tripId");
Once you subscribe to the trip, you will receive real time trip data in the listener method of RoamReceiver sub-class.
Listeners are needed to consume the location data from the SDK itself. In order to enable listeners, ensure the following.
To listen to location updates, create a class that extends RoamReceiver. Then, register the receiver by adding a receiver element to the application element in your manifest.
<application>
...
<receiver android:name=".LocationReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.roam.android.RECEIVED"/>
</intent-filter>
</receiver>
...
</application>
Then add the code to the receiver.
public class LocationReceiver extends RoamReceiver {
@Override
public void onLocationUpdated(Context context, RoamLocation roamLocation) {
super.onLocationUpdated(context, roamLocation);
// receive own location updates here
// do something with location data using location
// roamLocation.getActivity();
// roamLocation.getRecordedAt();
// roamLocation.getTimezoneOffset();
// roamLocation.getMetadata();
// roamLocation.getBatteryStatus();
// roamLocation.getNetworkStatus();
// roamLocation.getLocation().getLatitude();
// roamLocation.getLocation().getLongitude();
// roamLocation.getLocation().getBearing();
// roamLocation.getLocation().getAltitude();
// roamLocation.getLocation().getAccuracy();
// roamLocation.getLocation().getSpeed();
// roamLocation.getLocation().getProvider();
// roamLocation.getLocation().getTime();
// roamLocation.getLocation().getVerticalAccuracyMeters();
}
@Override
public void onReceiveTrip(Context context, RoamTripStatus roamTripStatus) {
//get realtime trip data
}
@Override
public void onError(Context context, RoamError roamError) {
// receive error message here
// roamError.getCode());
// roamError.getMessage());
}
}
You can access the subscribed trip response parameters below:
roamTripStatus.getTripId()
String
Unique identifier for the object.
roamTripStatus.getSpeed()
double
Current speed of the subscribed trip
roamTripStatus.getDistance()
double
The total distance covered by the user for this trip.
roamTripStatus.getDuration()
double
The total duration taken by the user for this trip.
roamTripStatus.getStartedTime()
String
The timestamp of when the trip was started by the user
roamTripStatus.getPace()
double
The current pace of the subscribed trip
roamTripStatus.getLatitude()
double
Current latitude coordinates of the subscribed trip
roamTripStatus.getLongitude()
double
Current longitude coordinates of the subscribed trip
roamTripStatus.getAltitude()
double
Current altitude of the subscribed trip
roamTripStatus.getElevationGain()
double
The elevation gain covered by the user for this trip.
roamTripStatus.getTotalElevation()
double
The total elevation gain covered by the user for this trip.
You can also unsubscribe from the trip using its tripID.
Roam.unsubscribeTrip("tripId")
Last updated
Was this helpful?