This challenge consists in creating a simple native Android app that restricts the access to any other installed application including the Android settings:
- The user should be able to select which applications are locked.
- After selecting the applications to be locked the user can press a "Lock" button.
- The "Lock" button should request a new password.
- The user should be able to type the requested password.
- The app should lock the access to the selected applications with the requested password, which could include the Android Settings themselves.
- The user must type the password inserted in the application in order to access any of those applications.
- The locked applications should be unlocked if the user types the right password.
- The user should be allowed to change the password at any moment.
* Technical Details *
- Android Native App
- Android Studio Project
- Java and/or Kotlin
- Support Android 9
- Single activity application
- GIT url with solution
* Tested approach so far *
Using [login to view URL] is possible to detect user interactions with other applications. For example '[login to view URL]' identifier is used to detect Android Settings.
* Problems *
- Communication conflicts between the 'AccessibilityService' running on background and the app running in foreground.
- Accessibility service must be manually enabled by the user on every device restart.