How to determine what apps are installed on the device?

the device activity apis require the app to ask to monitor specific apps - but how can an app know what apps are on the device?

Say my app will have presets of groups of apps that could be blocked, how will i know which of these i should ask to monitor?

Also is it possible to know when the child has installed a new app to determine if it should be allowed?

Replies

Your app can block applications by bundle identifier or token, and web sites by domain or token. Blocking prevents their use entirely. Your app can shield or monitor apps and web sites by token, thereby receiving callbacks when they are used. This separation exists to protect the privacy of the child's usage on the device. So you can block, but not shield or monitor, pre-defined apps and web sites. You can shield and monitor only apps and web sites selected by parents in the activity picker.