Есть несколько решений, от простых к сложным.
1)Дешево и сердито - для вашего приложения убрать все наэкранные контролы и в приложении переопределить `onBackPressed` . Минус - системе ничего не мешает убить приложение, юзеру перезагрузить девайс, при обновлении приложения с гугл плей надо опять запускать прилу.
2)Сделать ваше приложение дефолтным лаунчером. При старте устройства будет стартовать приложение. Минус - можно путем манипуляций с загрузчиком, либо подключив устройство к ПК приложение убрать.
3)Android for business, kiosk mode -
https://developer.android.com/work/dpc/dedicated-d... . Путем манипуляций с утройством, можно ограничить функционирование девайса, вполне можно залочить на одном приложении. Минус - есть определенные сложности с автоматическим обновление приложения, сложнее с разработка, не мейнстрим, дорого.
4)Своя прошивка. Можно сделать что угодно. Минус - дорого и долго.