I’m asking for Android specifically, but I’m curious what else is out there.
For example, some apps work without internet but may use it if it’s available. I might want to block that without having to turn off wifi, force stopping it, and wiping the cache/data.
Similarly, maybe I only want to use the app over a VPN and want to prevent accidentally opening it without first turning the VPN on.
There’s a built-in network toggle for applications (in their respective App Info / Permissions page) in GrapheneOS. So, if you’re on Graphene, it’s a piece of cake.
Else, you might want to look into NetGuard (https://f-droid.org/packages/eu.faircode.netguard/), which offers app-wise internet blocking.
As for the “using app over a VPN” thing, you can just turn on “Always-on VPN” and “Block connections without VPN” toggles in Settings / Network and Internet / VPN / .