I'll start with the short answer: no, it's not possible unless it's added by the GrapheneOS team, or you make your own implementation, build your own OS and include this app yourself... Anyway, here's stuff I found out while figuring out the answer to your question:
From what I can tell, the Android SystemUI and Settings packages both use ActivityManager.switchUser(userId)
to switch to another user, which requires MANAGE_USERS
or CREATE_USERS
permissions, both of which are restricted permissions.
I'm not sure about SystemUI using this still because the filename has "old" in it, but here it is in Settings and here's ActivityManager
's switchUser.
I didn't really spend more time figuring out how SystemUI gets and displays each user, but I recall seeing Settings uses UserManager.getUsers()
to get a list of users (link to getUsers()
), which requires one of the same two permissions listed above.
Both permissions are protected permissions. Basically, the app would have to be signed by the same certificate that was used when building the OS, otherwise it would have to be added to an allowlist (https://source.android.com/docs/core/permissions/perms-allowlist).