Research Article

Session Fingerprinting in Android via Web-to-App Intercommunication

Box 1

Sample attributes from native Android and JavaScript geolocation APIs.
float getAccuracy(): Get the estimated horizontal accuracy of this location, radial, in meters.
double getAltitude(): Get the altitude if available, in meters above the WGS 84 reference ellipsoid.
float getBearing(): Get the bearing, in degrees.
float getBearingAccuracyDegrees(): Get the estimated bearing accuracy of this location, in degrees.
long getElapsedRealtimeNanos(): Return the time of this fix, in elapsed real-time since system boot.
Bundle getExtras(): Returns additional provider-specific information about the location fix as a Bundle.
double getLatitude(): Get the latitude, in degrees.
double getLongitude(): Get the longitude, in degrees.
String getProvider(): Returns the name of the provider that generated this fix.
float getSpeed(): Get the speed if it is available, in meters/second over ground.
float getSpeedAccuracyMetersPerSecond(): Get the estimated speed accuracy of this location, in meters per second.
long getTime(): Return the UTC time of this fix, in milliseconds since January 1, 1970.
float getVerticalAccuracyMeters(): Get the estimated vertical accuracy of this location, in meters.
boolean hasAccuracy(): True if this location has a horizontal accuracy.
boolean hasAltitude(): True if this location has an altitude.
boolean hasBearing(): True if this location has a bearing.
boolean hasBearingAccuracy(): True if this location has a bearing accuracy.
boolean hasSpeed(): True if this location has a speed.
boolean hasSpeedAccuracy(): True if this location has a speed accuracy.
boolean hasVerticalAccuracy(): True if this location has a vertical accuracy.
boolean isFromMockProvider(): Returns true if the Location came from a mock provider.
Position.coords: Returns a Coordinates object defining the current location.
Position.timestamp: Returns a DOMTimeStamp representing the time at which the location was retrieved.
Where coordinates contain the following information:
double Coordinates.latitude: The position’s latitude in decimal degrees.
double Coordinates.longitude: The position’s longitude in decimal degrees.
double Coordinates.altitude: The position’s altitude in meters, relative to sea level. Can be null
if the implementation cannot provide the data.
double Coordinates.accuracy: he accuracy of the latitude and longitude properties, expressed in meters.
double Coordinates.altitudeAccuracy: he accuracy of the altitude expressed in meters. This value can be null.
double Coordinates.heading: he direction in which the device is traveling in degrees.
double Coordinates.speed: he velocity of the device in meters per second. This value can be null.