KTrackPlus Livetracking android application

Third-party apps, customisation, mods, development, custom kernels & ROMs

WARNING - Here be dragons!
If you don't entirely understand what you're doing, even following someone else's guide could end up with you bricking your Karoo, or leaving it in an unsupported state with no way to go back. By all means enter, read and learn, but undertake actions on your Karoo at your own risk!
Forum rules
Undertake any procedures at your own risk and make sure you know how to reverse any changes. You could brick your Karoo or at the very least put it into an unsupported configuration.
Post Reply
Posts: 2
Joined: Fri Oct 06, 2023 7:33 am

KTrackPlus Livetracking android application

Post by jarod46 »

Hello, I created another project for our Karoo, a livetracking application which can use another phone for livetracking purposes.
Built-in livetracking of karoo is very limited, so I decided to try to develop my own application (with my limited programming knowledge with android, I choose to use microsoft xamarin for more convenience for me)

App must me side-loaded like any other app on karoo.

There is two working mode, standalone and automatic :
-Standalone : use it when your karoo already have internet access
-Auto : if application is started on a karoo device, it will work as a bluetooth ble client, if device is not a karoo, app will work as bluetooth ble server

There is also two options to collect tracking informations :
-Karoo current activity : get gps locations in the fit file of current activity (it's also possible from the last activity for testing purposes)
-GPS : just collect locations directly from device gps

If you run the application on a non-Karoo device as standalone mode, it can work too, but only with the gps of course.

You can found source code on my github and download the apk on it : https://github.com/jarod46/KTrackPlus

Other functions :
-Send mail(s) with the tracking link
-Share tracking link with build-in android function
-Send a picture and show it on the tracking map
-Choose the update interval
-Choose the minimum distance between two locations (reduce the amount of data, but also the precision)
-Auto starting service on device boot
-Show a dialog overlay on new activity to start the livetracking (service must running)

Basic guide to how to run application as client/server mode
-Install application on your karoo and your android phone (search for many to how-to slideload, install apk on android)
-Enable bluetooth on your phone, start app and enable service (may take several times to authorize all permissions)
-Start app on karoo and tap on START button, (again, allow some permissions) it should found automatically your phone and connect to it (check logs)
-Sart a new activity (or use last activity with the option)
-Go to https://track.lazyjarod.com/yourtrackingid you can see your id in logs or options menu, or you can directly open it the menu of the phone app
-Explore menus for more options, it shouldn't be too hard to understand if you arrived to this point

I tried to optimize as much as I can to reduce battery impact and data usage but all help from more experienced android developer is welcome, and of course all other suggestions.
If someone is interested, I will add an option in the future to be able to host your own tracking web server, if you don't wan't to send your gps locations to an unknown server.

I hope it will be useful for some people, it's mainly a personal project, and it's not easy to explain it correctly in English for me.
Screenshot_20231026-161219.png (107.57 KiB) Viewed 167 times
az_recorder_20231026_161047.jpg (86.33 KiB) Viewed 167 times
Post Reply