

Introduced in Android 12, this role lets the holder app have access to many permissions that are needed to sync phone status and data to a wearable accessory. There’s one role that can be held by a regular app but is still hidden from settings, and that’s the COMPANION_DEVICE_WATCH role. These roles grant access to a ton of privileged APIs, so it makes sense that they can only be held by system apps. Most of these roles are invisible to the user since they can only be held by a system app that is usually predefined by the OEM (such as the SYSTEM_UI role). This is true for most roles, though the qualifications to hold each role are different.Īll of the “default apps” you can choose in settings are holders of their respective roles, but Android actually has a lot more roles than are shown in settings or documented in the SDK.

Not every app can hold the DIALER role, though, as there are a few qualifications that need to be met. For example, an app holding the DIALER role will automatically be granted access to a plethora of permissions a typical dialer app needs to do its job. An app holding a role will be granted access to all the permissions associated with that role. In Android 10, Google introduced roles to the platform. Android actually has a mechanism to do just that, and in Android 13, we’re seeing the beginnings of Google’s attempt to simplify linking your Android phone to your PC.Īll the runtime permissions requested by Microsoft’s Link to Windows app. Still, it’d be nice if Android could lump many of these permission requests together into a single dialog, especially because, as I said before, cross-device apps have a lot of features in common (and thus need a lot of the same permissions). Having to tap through half a dozen permission dialogs just to use an app does not make for a great experience, which is why the Link to Windows app holds off on requesting certain permissions during setup. The setup process for Microsoft’s Link to Windows app But that’s just to get the basic features up and running if I wanted to sync my notifications or call log, I’d have to grant it more permissions.

While setting it up, I had to grant it four different permissions back-to-back, followed by accepting a prompt to let the app ignore battery optimization, before it would let me start using it. Take Microsoft’s Link to Windows app as an example. Because of the large number of features they offer, the Android client behind them needs to request a lot of different permissions. These cross-device apps have a lot of features in common, such as making and receiving phone calls from your PC, syncing notifications, responding to text messages, sharing files and photos, and more.
