Home > Tips and Tricks

How to Fix Google Photos Permissions Prompt on Android 11

Annoyed by the Google Photos permission prompt every time you delete any image or video on your Android 11 device and want to fix this issue? Well, you are not alone. Add to it the constant “Review out of sync changes” notifications, and the entire user experience seems to have gone out for a toss. The fact that you have to tap on Allow every single time you wish to delete an image further adds to infuriation for the end-user.

fix allow google photos to modify this photo android 11

So what was the need of incorporating this functionality? Moreover, is it just limited to the Photos app or is part of a much broader field? This guide shall answer all these queries and will also show you the steps to fix it “issue” once and for all. However, if you don’t wish to know the reasoning behind this feature and want to directly head over to the fix, then use the direct link from the below table of contents section.



Why Google Photos is asking for Permission before Deleting any File in Android 11

The latest stable Android build (Android 12 isn’t yet stable, so this title is still reserved for Android 11) bought in a ton of new and interesting features. The ones such as the One Time permission, separate conversation section, and revamped power menu were the most talked about features since they were mostly user-facing. On the other hand, there are a plethora of under the hood changes that might have gone under the radar for some. Scope Storage falls in this domain.

Before this came into the picture, access to the internal storage was governed by just single permission. You didn’t had individual control over each file whether or not they could access this storage. But with the introduction of Scoped Storage, these files couldn’t access your data partition until you manually approve it. So if you are taking images via your camera app, even if it is the stock camera app, Google Photos will simply treat it as just another third-party app.

fix google photos review out of sync changes android 11

With that said, I used the Google Photos app on a Pixel device, and upon deleting an image, there was no permission prompt! Why? This is because, in Pixel devices, the Photos app is treated as a system gallery app and system apps don’t require this Scoped Storage permission. So can’t we just change the Photos app to a system app and fix this issue? In theory, this fix should work out. But the thing is you cannot make an app as a system-level app (at least in non-rooted apps).

While you could still make any app a default app, such as making Photos the default gallery app, but it would still be treated as a user level app, and the issue will still persist. Or will it? Well, it depends on whether the OEM treats this app as a system or user-installed app. On OnePlus and many other Android One devices, Photos is a system app, and this rectifies half of our issue! But before we list out the other half of the issue to fix the Google Photos permission prompt issue on Android 11, please check and verify how your device treats this app.

Fix Google Photos delete photo video Prompt on Android 11

To check if your device treats Google Photos app as a system or user-installed app, just head over to its app listing page (Settings > Apps and Notifications > App Info [or See All Apps]). If you see the Uninstall option, then it is a user-app and you have manually installed it onto your device via the Play Store. For this set of devices, the below workaround might not work (but you could still try if you wish, as it just requires a single ADB Command).

On the other hand, if you get the Disable option (instead of Uninstall), then it came pre-installed on your device and is treated as a system app. If your device falls in this domain, then you could easily try out the below fix. In other words, it’s finally time to bid adieu to the constant “Allow Photos to move this photo to the bin?” notification. So without further ado, let’s get started.



How to Fix Google Photos Permissions Prompt on Android 11

  1. First and foremost, download the Android SDK Platform Tools on your PC.
  2. Then extract it to any convenient location on your PC and you shall get the platform-tools folder.
  3. So head over to this platform-tools folder, type in CMD in its address bar, and hit Enter. This will launch the Command Prompt.
    command-prompt-adb
  4. Now enable USB Debugging on your device so that the PC is able to establish a successful ADB connection with your device. Go to Settings > About Phone > Tap on Build Number 7 times > Go back to Settings > System > Developer Options > Enable USB Debugging.
    usb debugging oneplus
  5. Connect your device to the PC via USB cable and execute the below command in the CMD window:
    adb devices
  6. If you get an alphanumeric string, followed by the ‘device’ keyword, then the connection stands successful.
    adb devices authorized
  7. Now execute the below command in the CMD window to fix this irritating Photos issue once and for all:
    adb shell cmd role add-role-holder android.app.role.SYSTEM_GALLERY com.google.android.apps.photos

    fix google photos delete notification after android 11 update

  8. If you didn’t get any error message (see above image), then the task stands successful. To verify the same, type in the below command:
    adb shell dumpsys role

    google photos as system app

  9. Now check out the result (refer to the above image). If the name i.e. android.app.role.SYSTEM_GALLERY shows the holder name as com.google.android.apps.photos, then it means that Google Photos has been converted to a system app. Hence it is no longer subjected to Scoped Storage.
  10. On the other hand, if your device had the Photos app as a user-installed app and you end up executing the add-role-holder command, then you would be greeted with the following error message:
    E RoleControllerServiceImpl: Package does not qualify for the role, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY

So on that note, we round off this guide on how to fix the Google Photos permission prompt on deleting any media file on Android 11 devices? What are your views on this? Are you satisfied with an extra layer of permission in the form of Scoped Storage? Or is it asking way too much and rather ends up disrupting the entire user experience? Do drop in your valuable opinions in the comments section below.


Share:
  • Thanks, man

  • This is so helpful. The extra prompts were driving me crazy. Thanks!

    • Sadique Hassan

      Thanks for the appreciation, Tom.

      • Hi Sadique, I know this is a kind off topic issue now but I’ve been encountering the annoying permission’s prompt on google photos for a long time, and just tried to fix it. I’ve followed the steps above and get the following

        Error: see logcat for details.
        java.util.concurrent.ExecutionException: java.lang.RuntimeException: Failed
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:361)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1943)
        at com.android.server.role.RoleManagerShellCommand$CallbackFuture.waitForResult(RoleManagerShellCommand.java:57)
        at com.android.server.role.RoleManagerShellCommand.runAddRoleHolder(RoleManagerShellCommand.java:117)
        at com.android.server.role.RoleManagerShellCommand.onCommand(RoleManagerShellCommand.java:77)
        at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
        at android.os.ShellCommand.exec(ShellCommand.java:44)
        at com.android.server.role.RoleManagerService$Stub.onShellCommand(RoleManagerService.java:674)
        at android.os.Binder.shellCommand(Binder.java:940)
        at android.os.Binder.onTransact(Binder.java:824)
        at android.app.role.IRoleManager$Stub.onTransact(IRoleManager.java:345)
        at android.os.Binder.execTransactInternal(Binder.java:1170)
        at android.os.Binder.execTransact(Binder.java:1134)
        Caused by: java.lang.RuntimeException: Failed
        at com.android.server.role.RoleManagerShellCommand$CallbackFuture.lambda$createCallback$0$RoleManagerShellCommand$CallbackFuture(RoleManagerShellCommand.java:50)
        at com.android.server.role.-$$Lambda$RoleManagerShellCommand$CallbackFuture$ya02agfKUbaiv_zXc0xWEop421Q.onResult(Unknown Source:2)
        at android.os.RemoteCallback.sendResult(RemoteCallback.java:77)
        at android.app.role.RoleControllerManager.lambda$propagateCallback$9(RoleControllerManager.java:285)
        at android.app.role.-$$Lambda$RoleControllerManager$1tkryWxs4VtGp5AmGDyjpvBjC28.accept(Unknown Source:8)
        at com.android.internal.infra.AndroidFuture.callListener(AndroidFuture.java:261)
        at com.android.internal.infra.AndroidFuture.callListenerAsync(AndroidFuture.java:246)
        at com.android.internal.infra.AndroidFuture.onCompleted(AndroidFuture.java:184)
        at com.android.internal.infra.ServiceConnector$Impl$CompletionAwareJob.onCompleted(ServiceConnector.java:718)
        at com.android.internal.infra.AndroidFuture.complete(AndroidFuture.java:138)
        at com.android.internal.infra.ServiceConnector$Impl$CompletionAwareJob.accept(ServiceConnector.java:712)
        at com.android.internal.infra.ServiceConnector$Impl$CompletionAwareJob.accept(ServiceConnector.java:663)
        at com.android.internal.infra.AndroidFuture.callListener(AndroidFuture.java:261)
        at com.android.internal.infra.AndroidFuture.callListenerAsync(AndroidFuture.java:246)
        at com.android.internal.infra.AndroidFuture.onCompleted(AndroidFuture.java:184)
        at com.android.internal.infra.AndroidFuture.complete(AndroidFuture.java:138)
        at android.app.role.-$$Lambda$9DeAxmM9lUVr3-FTSefyo-BW8DY.onResult(Unknown Source:2)
        at android.os.RemoteCallback.sendResult(RemoteCallback.java:77)
        at android.os.RemoteCallback$1.sendResult(RemoteCallback.java:54)
        at android.os.IRemoteCallback$Stub.onTransact(IRemoteCallback.java:87)
        … 2 more

        and so on.
        I don’t know if you will read this or if have anything messed up on my phone, but I will really appreciate if you could help me, as new A12 updates for 1+ have been carrying many bugs and problems.