"Give apps everything" and "lie to apps" is not a binary choice. There is a third option, the one iOS takes. Inform the program they don't have access to that information.
> So the phone uses more CPU and battery. It's not that big of a deal.
Battery life is very important in a phone.
> Yes, Android can tell the app that there are no photos.
It could also tell the app "You have been denied the GPS permission."
> We are all accustomed to using GPS-related apps when we have no GPS signal. How is this any different?
Really? I'm not. And what if turning off GPS was accidental? I'm used to apps telling me "X won't work because GPS access has been disabled." Just breaking the experience with no way of notifying the user why their run logger stopped logging runs is not acceptable design.
> So the phone uses more CPU and battery. It's not that big of a deal.
Battery life is very important in a phone.
> Yes, Android can tell the app that there are no photos.
It could also tell the app "You have been denied the GPS permission."
> We are all accustomed to using GPS-related apps when we have no GPS signal. How is this any different?
Really? I'm not. And what if turning off GPS was accidental? I'm used to apps telling me "X won't work because GPS access has been disabled." Just breaking the experience with no way of notifying the user why their run logger stopped logging runs is not acceptable design.