The Lollipop API provides 2 new features "Profile Owner" and "Device Owner" (http://developer.android.com/about/versions/android-5.0.html#Enterprise). Between them, they offer just the features I need for an app that parents can use to control their children's device activity. The setup flow for each is:
Device Owner
During device setup, using NFC, you can tell Android that you want your app to be a Device Owner. Android then downloads the app from a URL, and the device is encrypted and is provisioned with the app as a Device Owner. So for someone installing my app from Google Play, I would need the app to prompt them to factory reset their device, then install another app on another device, and then NFC bump them together. As setup flows go, this is far from from ideal. But once setup, the Device Owner APIs provide a very rich feature set for this use case.
Profile Owner
The setup for this is a little more straight forward: the user installs the app from Google Play, and can then be prompted to give the app Profile Owner privileges. If the user agrees, the device is encrypted by Android, and after a reboot the device has 2 "co-present" profiles that use the same launcher (home screen). The setup may be more straight forward, but the end result is not really what I need, as the app only has control over the apps under the managed profile.
Question
So I guess I actually have 2 questions: Is it possible to make a Profile Owner app that controls the entire user profile i.e. not a co-present managed profile? Or is it possible to make a Device Owner app with a simpler setup flow that does not require a factory reset and NFC bump (rooting is not an option)? Some middle ground between the two approaches would be ideal.