Android 11 blocks third-party camera apps from appearing in image/video picking intents

Android 11 is changing the way apps interact with third-party camera apps on your device, which will prevent them from appearing in image/video picking intents. In current and older versions of Android, if an app wants to let users capture an image it can either implement taking pictures within the app (using Android’s various camera APIs) or it can send an intent action to have a dedicated camera app capture the image instead. If the app decides to go with the latter, users are presented with a pop-up dialog to select the camera app of their choice to capture the image. The dialog shows all camera apps installed on the user’s device, including third-party camera apps. However, with Android 11, the pop-up will only include pre-installed stock camera apps, unless developers implement a specific workaround.

The change effectively means that, in most cases, users will have to manually launch third-party camera apps when they want to take a photo, making third-party camera apps less convenient to use. It will also make users blame developers of third-party camera apps when the user finds out their favorite camera app can’t be launched from other apps anymore. Google is implementing this change in Android 11 by preventing third-party camera apps from responding to the following intent actions:

  • android.media.action.VIDEO_CAPTURE
  • android.media.action.IMAGE_CAPTURE
  • android.media.action.IMAGE_CAPTURE_SECURE

Google says that this change has been set in place in Android 11 to protect the privacy and security of its users. However, the company does mention a workaround for developers that will allow apps to launch third-party camera apps. The workaround will essentially let developers target a specific third-party app of their choice. For example, the developer of a document scanner app can send an explicit intent to launch Adobe Photoshop Camera. However, Android 11 makes it so that developers cannot even query the list of apps that can respond to the 3 aforementioned intent actions, which means that a developer will have to know in advance which third-party camera apps they want to support.

Source: CommonsWare, Android Developers