Plot
Android has an option for single-purpose devices to be managed using Device Owner Kiosk Applications. Now there are various Device provisioning ways to make a Kiosk app Device Owner. One of the ways is to use the official Android EMM solution and enroll devices.
The other simple and quick-to-use method is using dpm set-owner
command for rooted and non-rooted devices. Rooted Devices can run this command with su
rights and make the desired Kiosk App a Device Owner and Non-rooted devices can also be made device owner using adb command.
As asked and answered in following question.
How to make my app a device owner?
Now having such a simple way to provision device and app to be Device Owner is very useful where Kiosk devices are to be placed and used on large scale without depending upon Android Enterprise or EMM. But I have few questions about this.
Questions:
Is provisioning app to be device owner using dpm set-owner
logical and safe to use for long-term production devices and at volume?
Are there any potential downsides of using this approch?
No, this is not viable as the command is meant only for testing of features.
In case you do manage to get it running on some devices, you need to make sure you implement policies as it can easily be removed.
And on a positive side, yes, once its activated it works exactly as it was intended.
If you can and if the project allows, you are better of with activating over NFC at setup or by building a custom rom for that particular device and adding your package name as device owner on the system partition.