"Allow Expo Go to modify this photo" modal window

SDK Version: 44.0.0
Platform: Android

When I take a photo within my Expo project, I keep getting this modal window:

This window shows up every time I take a photo and save it in the album.

How can I get rid of it? Does this happens because I missed to specify some permissions?

Here is my app.json

{
  "expo": {
    "name": "myapp",
    "slug": "myapp",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/images/icon.png",
    "scheme": "myapp",
    "userInterfaceStyle": "automatic",
    "splash": {
      "image": "./assets/images/adaptive.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": ["**/*"],
    "ios": {
      "supportsTablet": true,
      "infoPlist": {
        "NSPhotoLibraryUsageDescription": "Allow $(PRODUCT_NAME) to access your photos.",
        "NSPhotoLibraryAddUsageDescription": "Allow $(PRODUCT_NAME) to save photos.",
        "NSCameraUsageDescription": "Allow $(PRODUCT_NAME) to use camera."
      }
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/images/adaptive.png",
        "backgroundColor": "#ffffff"
      },
      "permissions": [
        "android.permission.READ_EXTERNAL_STORAGE",
        "android.permission.WRITE_EXTERNAL_STORAGE",
        "android.permission.CAMERA",
        "android.permission.ACCESS_MEDIA_LOCATION",
        "true"
      ],
      "package": "com.example"
    }
  }
}

Hey @vukmne, can you share the relevant code that handles the photo taking/saving logic? As well as what device/OS version you are encountering this on.

Hello @adamjnav

Here is the code:

let album = await MediaLibrary.getAlbumAsync('Album_' + route.params.cardName)
let asset: MediaLibrary.Asset

if (route.params.imageData.uri) {
  // Slika je napravljena
  setImagesAreLoaded(false)
  asset = await MediaLibrary.createAssetAsync(route.params.imageData.uri)
  if (album) {
    // Album postoji, i dodajemo sliku
    let imageAdded = await MediaLibrary.addAssetsToAlbumAsync([asset], album, false)
  } else {
    // 'Album ne postoji i upravo ga kreiramo da bi dodali sliku'
    album = await MediaLibrary.createAlbumAsync(
      'Album_' + route.params.cardName,
      asset,
      false
    )
  }
}

This code is within loadImages(), that gets called in useEffect

useEffect(() => {
    if (config.includeTakingPhotos === true) {
      loadImages()
    }
  }, [isFocused])

isFocused gets value from useIsFocused()

Hi,

I am having the same issue.
SDK Version: 44.0.0
Platform: Android

This is NOT happening on the iPhone.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.