sorianog / TreasureHuntApp

"Treasure Hunt" app from Advanced Android with Kotlin Udacity course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Treasure Hunt

Virtual Treasure Hunt with Geofences
Lesson 9 of Advanced Android with Kotlin course on Udacity


  • Latest library versions (see .gradle files)
  • Minor code refactoring


This app is a scavenger hunt that gives the user a clue, and when the user enters the correct location, the app will prompt them with the next clue, or a win screen if they have finished the hunt.


  • How to check user permissions.
  • How to check device settings.
  • How to add Broadcast Receivers.
  • How to add geofences.
  • How to handle geofence transitions.
  • How to mock locations in the emulator.


  • If you are running this app on an emulator, you will need to use another app to pull location data from. This is because geofencing relies on device sensors to detect the location of the device, which the emulator cannot access.
  • A minimum of SDK API 29 on your device or emulator. (This should still work on lower API levels but may look different.)
  • If you are running API 29 or higher, grant the "Always allow" permission; otherwise, grant "Allow" for location permissions.


Home Screen

Geofence Notification

Win Screen

Location Permission

Location Off


"Treasure Hunt" app from Advanced Android with Kotlin Udacity course



Language:Kotlin 100.0%