Android device tracker library is an Android library that enables devices to send their location information. After initializing this library, it will automatically start sending location information to given server. As a GPS tracking server, Traccar server was used. Traccar (http://traccar.org/) is an open source GPS tracking server application.
In order to use the DeviceTrackerLib in your Android application the following need to be done in the Android Studio
This library requires three permissions:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Add this into the build.gradle
file:
// Add tracker library
compile project (':trackerlib')
To initialize the library, the following need to be added in your Application
class:
Tracker initialize:
DeviceTrackerManager.init(ip, port, TrackerType (BATCH or REAL_TIME), useWifiOnly);
Tracker start tracking:
DeviceTrackerManager.startTracker();
Tracker init google analytics (optional):
DeviceTrackerManager.initAnalytics(getApplicationContext(), "XXX");
/*
* Initialize device tracker library
*/
public void initDeviceTracker() {
boolean useWifiOnly = false;
//Create a Tracker config with ip, port, Tracker type
TrackerConfig tc = new TrackerConfig("xxx.xxx.xx.x", 5005, TrackerConfig.TrackerType.BATCH,
useWifiOnly);
String uuid = mPrefs.getString(APP_UID, null);
DeviceTrackerManager.init(tc, getApplicationContext(), uuid);
DeviceTrackerManager.startTracker();
DeviceTrackerManager.initAnalytics(context, "XXX");
}
/*
* Copyright (C) 2015-2018 University of South Florida (cagricetin@mail.usf.edu, sjbarbeau@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/