I am using Expo Location to ask for location permission. iOS asks once and returns canaskagain = false. Android returns canaskagain = true on the first ask if user denies, thus asking again on the second load of the app. This is on a clean install of the app in both iOS and Android emulators.
ask location result: {"android": {"accuracy": "none", "scoped": "none"}, "canAskAgain": true, "expires": "never", "granted": false, "status": "denied"}